Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,36 @@
define character2xml(names::array, remarks::array) => {
fail_if(#names -> size != #remarks -> size, -1, 'Input arrays not of same size')
local(
domimpl = xml_domimplementation,
doctype = #domimpl -> createdocumenttype(
'svg:svg',
'-//W3C//DTD SVG 1.1//EN',
'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'
),
character_xml = #domimpl -> createdocument(
'http://www.w3.org/2000/svg',
'svg:svg',
#docType
),
csnode = #character_xml -> createelement('CharacterRemarks'),
charnode
)
#character_xml -> appendChild(#csnode)
loop(#names -> size) => {
#charnode = #character_xml -> createelement('Character')
#charnode -> setAttribute('name', #names -> get(loop_count))
#charnode -> nodeValue = encode_xml(#remarks -> get(loop_count))
#csnode -> appendChild(#charnode)
}
return #character_xml
}
character2xml(
array(`April`, `Tam O'Shanter`, `Emily`),
array(`Bubbly: I'm > Tam and <= Emily`, `Burns: "When chapman billies leave the street ..."`, `Short & shrift`)
)

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg:svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:svg="http://www.w3.org/2000/svg"/>
<CharacterRemarks>
<Character name="April">Bubbly: I'm &gt; Tam and &lt;= Emily</Character>
<Character name="Tam O'Shanter">Burns: "When chapman billies leave the street ..."</Character>
<Character name="Emily">Short &amp; shrift</Character>
</CharacterRemarks>

After

Width:  |  Height:  |  Size: 456 B

View file

@ -0,0 +1,11 @@
import xmltree, strtabs, sequtils
proc charsToXML(names, remarks): XmlNode =
result = <>CharacterRemarks()
for name, remark in items zip(names, remarks):
result.add(<>Character(name=name, remark.newText))
echo charsToXML(@["April", "Tam O'Shanter", "Emily"],
@["Bubbly: I'm > Tam and <= Emily",
"Burns: \"When chapman billies leave the street ...\"",
"Short & shrift"])

View file

@ -0,0 +1,33 @@
constant {hchars,hsubs} = columnize({{"<","&lt;"},
{">","&gt;"},
{"&","&amp;"},
{"\"","&quot;"},
{"\'","&apos;"}})
function xmlquote_all(sequence s)
for i=1 to length(s) do
s[i] = substitute_all(s[i],hchars,hsubs)
end for
return s
end function
function xml_CharacterRemarks(sequence data)
string res = "<CharacterRemarks>\n"
for i=1 to length(data) do
res &= sprintf(" <CharacterName=\"%s\">%s</Character>\n",xmlquote_all(data[i]))
end for
return res & "</CharacterRemarks>\n"
end function
constant testset = {
{"April", "Bubbly: I'm > Tam and <= Emily"},
{"Tam O'Shanter", "Burns: \"When chapman billies leave the street ...\""},
{"Emily", "Short & shrift"}
}
printf(1,xml_CharacterRemarks(testset))
-- Sample output:
-- <CharacterRemarks>
-- <CharacterName="April">Bubbly: I&apos;m &amp;gt; Tam and &amp;lt;= Emily</Character>
-- <CharacterName="Tam O&apos;Shanter">Burns: &quot;When chapman billies leave the street ...&quot;</Character>
-- <CharacterName="Emily">Short &amp; shrift</Character>
-- </CharacterRemarks>

View file

@ -0,0 +1,19 @@
require('XML::Mini::Document');
var students = [
["April", "Bubbly: I'm > Tam and <= Emily"],
["Tam O'Shanter", "Burns: \"When chapman billies leave the street ...\""],
["Emily", "Short & shrift"]
];
var doc = %s'XML::Mini::Document'.new;
var root = doc.getRoot;
var studs = root.createChild("CharacterRemarks");
students.each { |s|
var stud = studs.createChild("Character");
stud.attribute("name", s[0]);
stud.text(s[1]);
};
print doc.toString;