September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,112 +0,0 @@
|
|||
( ( 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"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml?>
|
||||
<CharacterRemarks><Character name="April">Bubbly: I'm > Tam and <= Emily</Character>
|
||||
<Character name="Tam O'Shanter">Burns: "When chapman billies leave the street ..."</Character>
|
||||
<Character name="Emily">Short & shrift</Character>
|
||||
</CharacterRemarks>
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
function xmlquote(sequence s)
|
||||
sequence r
|
||||
r = ""
|
||||
for i = 1 to length(s) do
|
||||
if s[i] = '<' then
|
||||
r &= "<"
|
||||
elsif s[i] = '>' then
|
||||
r &= ">"
|
||||
elsif s[i] = '&' then
|
||||
r &= "&"
|
||||
elsif s[i] = '"' then
|
||||
r &= """
|
||||
elsif s[i] = '\'' then
|
||||
r &= "'"
|
||||
else
|
||||
r &= s[i]
|
||||
end if
|
||||
end for
|
||||
return r
|
||||
end function
|
||||
|
||||
constant CharacterRemarks = {
|
||||
{"April", "Bubbly: I'm > Tam and <= Emily"},
|
||||
{"Tam O'Shanter", "Burns: \"When chapman billies leave the street ...\""},
|
||||
{"Emily", "Short & shrift"}
|
||||
}
|
||||
|
||||
puts(1,"<CharacterRemarks>\n")
|
||||
for i = 1 to length(CharacterRemarks) do
|
||||
printf(1," <CharacterName=\"%s\">",{xmlquote(CharacterRemarks[i][1])})
|
||||
puts(1,xmlquote(CharacterRemarks[i][2]))
|
||||
puts(1,"</Character>\n")
|
||||
end for
|
||||
puts(1,"</CharacterRemarks>\n")
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<CharacterRemarks>
|
||||
<CharacterName="April">Bubbly: I'm > Tam and <= Emily</Character>
|
||||
<CharacterName="Tam O'Shanter">Burns: "When chapman billies leave the street ..."</Character>
|
||||
<CharacterName="Emily">Short & shrift</Character>
|
||||
</CharacterRemarks>
|
||||
44
Task/XML-Output/Kotlin/xml-output-1.kotlin
Normal file
44
Task/XML-Output/Kotlin/xml-output-1.kotlin
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// version 1.1.3
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory
|
||||
import javax.xml.transform.dom.DOMSource
|
||||
import java.io.StringWriter
|
||||
import javax.xml.transform.stream.StreamResult
|
||||
import javax.xml.transform.TransformerFactory
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val names = listOf("April", "Tam O'Shanter", "Emily")
|
||||
|
||||
val remarks = listOf(
|
||||
"Bubbly: I'm > Tam and <= Emily",
|
||||
"Burns: \"When chapman billies leave the street ...\"",
|
||||
"Short & shrift"
|
||||
)
|
||||
|
||||
val dbFactory = DocumentBuilderFactory.newInstance()
|
||||
val dBuilder = dbFactory.newDocumentBuilder()
|
||||
val doc = dBuilder.newDocument()
|
||||
val root = doc.createElement("CharacterRemarks") // create root node
|
||||
doc.appendChild(root)
|
||||
|
||||
// now create Character elements
|
||||
for (i in 0 until names.size) {
|
||||
val character = doc.createElement("Character")
|
||||
character.setAttribute("name", names[i])
|
||||
val remark = doc.createTextNode(remarks[i])
|
||||
character.appendChild(remark)
|
||||
root.appendChild(character)
|
||||
}
|
||||
|
||||
val source = DOMSource(doc)
|
||||
val sw = StringWriter()
|
||||
val result = StreamResult(sw)
|
||||
val tFactory = TransformerFactory.newInstance()
|
||||
tFactory.newTransformer().apply {
|
||||
setOutputProperty("omit-xml-declaration", "yes")
|
||||
setOutputProperty("indent", "yes")
|
||||
setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4")
|
||||
transform(source, result)
|
||||
}
|
||||
println(sw)
|
||||
}
|
||||
5
Task/XML-Output/Kotlin/xml-output-2.kotlin
Normal file
5
Task/XML-Output/Kotlin/xml-output-2.kotlin
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
<CharacterRemarks>
|
||||
<Character name="April">Bubbly: I'm > Tam and <= Emily</Character>
|
||||
<Character name="Tam O'Shanter">Burns: "When chapman billies leave the street ..."</Character>
|
||||
<Character name="Emily">Short & shrift</Character>
|
||||
</CharacterRemarks>
|
||||
18
Task/XML-Output/Zkl/xml-output.zkl
Normal file
18
Task/XML-Output/Zkl/xml-output.zkl
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
fcn xmlEscape(text){
|
||||
text.replace(" &"," &") .replace(" \""," "")
|
||||
.replace(" '"," '") .replace(" <"," <") .replace(" >"," >")
|
||||
}
|
||||
fcn toXML(as,bs){
|
||||
xml:=Sink("<CharacterRemarks>\n");
|
||||
as.zipWith('wrap(a,b){
|
||||
xml.write(" <Character name=\"",xmlEscape(a),"\">",
|
||||
xmlEscape(b),"</Character>\n");
|
||||
},bs);
|
||||
xml.write("</CharacterRemarks>\n").close();
|
||||
}
|
||||
|
||||
toXML(T("April", "Tam O'Shanter", "Emily"),
|
||||
T("Bubbly: I'm > Tam and <= Emily",
|
||||
0'|Burns: "When chapman billies leave the street ..."|,
|
||||
"Short & shrift"))
|
||||
.print();
|
||||
Loading…
Add table
Add a link
Reference in a new issue