2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
46
Task/XML-Output/ALGOL-68/xml-output-1.alg
Normal file
46
Task/XML-Output/ALGOL-68/xml-output-1.alg
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# returns a translation of str suitable for attribute values and content in an XML document #
|
||||
OP TOXMLSTRING = ( STRING str )STRING:
|
||||
BEGIN
|
||||
STRING result := "";
|
||||
FOR pos FROM LWB str TO UPB str DO
|
||||
CHAR c = str[ pos ];
|
||||
result +:= IF c = "<" THEN "<"
|
||||
ELIF c = ">" THEN ">"
|
||||
ELIF c = "&" THEN "&"
|
||||
ELIF c = "'" THEN "'"
|
||||
ELIF c = """" THEN """
|
||||
ELSE c
|
||||
FI
|
||||
OD;
|
||||
result
|
||||
END; # TOXMLSTRING #
|
||||
|
||||
# generate a CharacterRemarks XML document from the characters and remarks #
|
||||
# the number of elements in characters and remrks must be equal - this is not checked #
|
||||
# the <?xml?> element is not generated #
|
||||
PROC generate character remarks document = ( []STRING characters, remarks )STRING:
|
||||
BEGIN
|
||||
STRING result := "<CharacterRemarks>";
|
||||
INT remark pos := LWB remarks;
|
||||
FOR char pos FROM LWB characters TO UPB characters DO
|
||||
result +:= "<Character name=""" + TOXMLSTRING characters[ char pos ] + """>"
|
||||
+ TOXMLSTRING remarks[ remark pos ]
|
||||
+ "</Character>"
|
||||
+ REPR 10
|
||||
;
|
||||
remark pos +:= 1
|
||||
OD;
|
||||
result +:= "</CharacterRemarks>";
|
||||
result
|
||||
END; # generate character remarks document #
|
||||
|
||||
# test the generation #
|
||||
print( ( generate character remarks document( ( "April", "Tam O'Shanter", "Emily" )
|
||||
, ( "Bubbly: I'm > Tam and <= Emily"
|
||||
, "Burns: ""When chapman billies leave the street ..."
|
||||
, "Short & shrift"
|
||||
)
|
||||
)
|
||||
, newline
|
||||
)
|
||||
)
|
||||
4
Task/XML-Output/ALGOL-68/xml-output-2.alg
Normal file
4
Task/XML-Output/ALGOL-68/xml-output-2.alg
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<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>
|
||||
13
Task/XML-Output/Lua/xml-output-1.lua
Normal file
13
Task/XML-Output/Lua/xml-output-1.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
require("LuaXML")
|
||||
|
||||
function addNode(parent, nodeName, key, value, content)
|
||||
local node = xml.new(nodeName)
|
||||
table.insert(node, content)
|
||||
parent:append(node)[key] = value
|
||||
end
|
||||
|
||||
root = xml.new("CharacterRemarks")
|
||||
addNode(root, "Character", "name", "April", "Bubbly: I'm > Tam and <= Emily")
|
||||
addNode(root, "Character", "name", "Tam O'Shanter", 'Burns: "When chapman billies leave the street ..."')
|
||||
addNode(root, "Character", "name", "Emily", "Short & shrift")
|
||||
print(root)
|
||||
5
Task/XML-Output/Lua/xml-output-2.lua
Normal file
5
Task/XML-Output/Lua/xml-output-2.lua
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>
|
||||
2
Task/XML-Output/Lua/xml-output-3.lua
Normal file
2
Task/XML-Output/Lua/xml-output-3.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
xmlStr = xml.str(root):gsub("'", "'"):gsub(""", '"')
|
||||
print(xmlStr)
|
||||
5
Task/XML-Output/Lua/xml-output-4.lua
Normal file
5
Task/XML-Output/Lua/xml-output-4.lua
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>
|
||||
|
|
@ -1,34 +1,59 @@
|
|||
DataSection
|
||||
dataItemCount:
|
||||
Data.i 3
|
||||
|
||||
names:
|
||||
Data.s "April", "Tam O'Shanter", "Emily"
|
||||
|
||||
remarks:
|
||||
Data.s "Bubbly: I'm > Tam and <= Emily",
|
||||
~"Burns: \"When chapman billies leave the street ...\"",
|
||||
"Short & shrift"
|
||||
EndDataSection
|
||||
|
||||
Structure characteristic
|
||||
name.s
|
||||
remark.s
|
||||
EndStructure
|
||||
|
||||
NewList didel.characteristic()
|
||||
If ReadFile(0, GetCurrentDirectory()+"names.txt")
|
||||
While Eof(0) = 0
|
||||
AddElement(didel())
|
||||
didel()\name = ReadString(0)
|
||||
Wend
|
||||
CloseFile(0)
|
||||
EndIf
|
||||
Define item.s, numberOfItems, i
|
||||
|
||||
Restore dataItemCount
|
||||
Read.i numberOfItems
|
||||
|
||||
;add names
|
||||
Restore names
|
||||
For i = 1 To numberOfItems
|
||||
AddElement(didel())
|
||||
Read.s item
|
||||
didel()\name = item
|
||||
Next
|
||||
|
||||
;add remarks
|
||||
ResetList(didel())
|
||||
FirstElement(didel())
|
||||
If ReadFile(0, GetCurrentDirectory()+"remarks.txt")
|
||||
While Eof(0) = 0
|
||||
didel()\remark = ReadString(0)
|
||||
NextElement(didel())
|
||||
Wend
|
||||
CloseFile(0)
|
||||
EndIf
|
||||
Restore remarks:
|
||||
For i = 1 To numberOfItems
|
||||
Read.s item
|
||||
didel()\remark = item
|
||||
NextElement(didel())
|
||||
Next
|
||||
|
||||
Define xml, mainNode, itemNode
|
||||
ResetList(didel())
|
||||
FirstElement(didel())
|
||||
xml = CreateXML(#PB_Any)
|
||||
mainNode = CreateXMLNode(RootXMLNode(xml))
|
||||
SetXMLNodeName(mainNode, "CharacterRemarks")
|
||||
ForEach didel()
|
||||
item = CreateXMLNode(mainNode)
|
||||
SetXMLNodeName(item, "Character")
|
||||
SetXMLAttribute(item, "name", didel()\name)
|
||||
SetXMLNodeText(item, didel()\remark)
|
||||
Next
|
||||
FormatXML(xml, #PB_XML_ReFormat | #PB_XML_WindowsNewline | #PB_XML_ReIndent)
|
||||
SaveXML(xml, "demo.xml")
|
||||
xml = CreateXML(#PB_Any)
|
||||
mainNode = CreateXMLNode(RootXMLNode(xml), "CharacterRemarks")
|
||||
ForEach didel()
|
||||
itemNode = CreateXMLNode(mainNode, "Character")
|
||||
SetXMLAttribute(itemNode, "name", didel()\name)
|
||||
SetXMLNodeText(itemNode, didel()\remark)
|
||||
Next
|
||||
FormatXML(xml, #PB_XML_ReFormat | #PB_XML_WindowsNewline | #PB_XML_ReIndent)
|
||||
|
||||
If OpenConsole()
|
||||
PrintN(ComposeXML(xml, #PB_XML_NoDeclaration))
|
||||
Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input()
|
||||
CloseConsole()
|
||||
EndIf
|
||||
|
|
|
|||
17
Task/XML-Output/VBScript/xml-output.vb
Normal file
17
Task/XML-Output/VBScript/xml-output.vb
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
Set objXMLDoc = CreateObject("msxml2.domdocument")
|
||||
|
||||
Set objRoot = objXMLDoc.createElement("CharacterRemarks")
|
||||
objXMLDoc.appendChild objRoot
|
||||
|
||||
Call CreateNode("April","Bubbly: I'm > Tam and <= Emily")
|
||||
Call CreateNode("Tam O'Shanter","Burns: ""When chapman billies leave the street ...""")
|
||||
Call CreateNode("Emily","Short & shrift")
|
||||
|
||||
objXMLDoc.save("C:\Temp\Test.xml")
|
||||
|
||||
Function CreateNode(attrib_value,node_value)
|
||||
Set objNode = objXMLDoc.createElement("Character")
|
||||
objNode.setAttribute "name", attrib_value
|
||||
objNode.text = node_value
|
||||
objRoot.appendChild objNode
|
||||
End Function
|
||||
Loading…
Add table
Add a link
Reference in a new issue