113 lines
3.2 KiB
Plaintext
113 lines
3.2 KiB
Plaintext
( ( 2XML
|
|
= PCDATAentities attributeValueEntities doAll doAttributes
|
|
, xml
|
|
. ( attributeValueEntities
|
|
= a c
|
|
. @( !arg
|
|
: ?a
|
|
(("<"|"&"|\"):?c)
|
|
?arg
|
|
)
|
|
& !a
|
|
"&"
|
|
( !c:"<"<
|
|
| !c:"&"&
|
|
| quot
|
|
)
|
|
";"
|
|
attributeValueEntities$!arg
|
|
| !arg
|
|
)
|
|
& ( PCDATAentities
|
|
= a c
|
|
. @( !arg
|
|
: ?a
|
|
(("<"|"&"|">"):?c)
|
|
?arg
|
|
)
|
|
& !a
|
|
"&"
|
|
( !c:"<"<
|
|
| !c:"&"&
|
|
| gt
|
|
)
|
|
";"
|
|
PCDATAentities$!arg
|
|
| !arg
|
|
)
|
|
& ( doAttributes
|
|
= a v
|
|
. !arg:(?a.?v) ?arg
|
|
& " "
|
|
PCDATAentities$!a
|
|
"=\""
|
|
attributeValueEntities$!v
|
|
\"
|
|
doAttributes$!arg
|
|
|
|
|
)
|
|
& ( doAll
|
|
= xml first A B C att XML
|
|
. !arg:?xml
|
|
& :?XML
|
|
& whl
|
|
' ( !xml:%?first ?xml
|
|
& ( !first:(?A.?B)
|
|
& ( !B:(?att,?C)
|
|
& !XML
|
|
( !C:
|
|
& "<" !A doAttributes$!att " />\n"
|
|
| "<"
|
|
!A
|
|
doAttributes$!att
|
|
">"
|
|
doAll$!C
|
|
"</"
|
|
!A
|
|
">\n"
|
|
)
|
|
: ?XML
|
|
| !A
|
|
: ( "!"&!XML "<!" !B ">":?XML
|
|
| "!--"
|
|
& !XML "<!--" !B "-->":?XML
|
|
| "?"&!XML "<?" !B "?>\n":?XML
|
|
| "![CDATA["
|
|
& !XML "<![CDATA[" !B "]]>":?XML
|
|
| "!DOCTYPE"
|
|
& !XML "<!DOCTYPE" !B ">":?XML
|
|
| ?
|
|
& !XML "<" !A doAttributes$!B ">":?XML
|
|
)
|
|
)
|
|
| !XML PCDATAentities$!first:?XML
|
|
)
|
|
)
|
|
& str$!XML
|
|
)
|
|
& doAll$!arg
|
|
)
|
|
& ( makeList
|
|
= characters name names remark remarks
|
|
. !arg:(?names.?remarks)
|
|
& :?characters
|
|
& whl
|
|
' ( (!names.!remarks)
|
|
: (%?name ?names.%?remark ?remarks)
|
|
& !characters (Character.(name.!name),!remark)
|
|
: ?characters
|
|
)
|
|
& ("?".xml) (CharacterRemarks.,!characters)
|
|
)
|
|
& put
|
|
$ ( 2XML
|
|
$ ( makeList
|
|
$ ( April "Tam O'Shanter" Emily
|
|
. "Bubbly: I'm > Tam and <= Emily"
|
|
"Burns: \"When chapman billies leave the street ...\""
|
|
"Short & shrift"
|
|
)
|
|
)
|
|
)
|
|
)
|