Data update

This commit is contained in:
Ingy döt Net 2026-04-30 12:34:36 -04:00
parent 4bb20c9b71
commit cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions

View file

@ -0,0 +1,40 @@
with Ada.Strings.Unbounded;
with Ada.Text_IO.Text_Streams;
with DOM.Core.Documents;
with DOM.Core.Elements;
with DOM.Core.Nodes;
procedure Character_Remarks is
package DC renames DOM.Core;
package IO renames Ada.Text_IO;
package US renames Ada.Strings.Unbounded;
type Remarks is record
Name : US.Unbounded_String;
Text : US.Unbounded_String;
end record;
type Remark_List is array (Positive range <>) of Remarks;
My_Remarks : Remark_List :=
((US.To_Unbounded_String ("April"),
US.To_Unbounded_String ("Bubbly: I'm > Tam and <= Emily")),
(US.To_Unbounded_String ("Tam O'Shanter"),
US.To_Unbounded_String ("Burns: ""When chapman billies leave the street ...""")),
(US.To_Unbounded_String ("Emily"),
US.To_Unbounded_String ("Short & shrift")));
My_Implementation : DC.DOM_Implementation;
My_Document : DC.Document := DC.Create_Document (My_Implementation);
My_Root_Node : DC.Element := DC.Nodes.Append_Child (My_Document,
DC.Documents.Create_Element (My_Document, "CharacterRemarks"));
My_Element_Node : DC.Element;
My_Text_Node : DC.Text;
begin
for I in My_Remarks'Range loop
My_Element_Node := DC.Nodes.Append_Child (My_Root_Node,
DC.Documents.Create_Element (My_Document, "Character"));
DC.Elements.Set_Attribute (My_Element_Node, "Name", US.To_String (My_Remarks (I).Name));
My_Text_Node := DC.Nodes.Append_Child (My_Element_Node,
DC.Documents.Create_Text_Node (My_Document, US.To_String (My_Remarks (I).Text)));
end loop;
DC.Nodes.Write (IO.Text_Streams.Stream (IO.Standard_Output),
N => My_Document,
Pretty_Print => True);
end Character_Remarks;

View file

@ -0,0 +1,53 @@
with Ada.Wide_Wide_Text_IO;
with League.Strings;
with XML.SAX.Attributes;
with XML.SAX.Pretty_Writers;
procedure Main is
function "+"
(Item : Wide_Wide_String) return League.Strings.Universal_String
renames League.Strings.To_Universal_String;
type Remarks is record
Name : League.Strings.Universal_String;
Remark : League.Strings.Universal_String;
end record;
type Remarks_Array is array (Positive range <>) of Remarks;
------------
-- Output --
------------
procedure Output (Remarks : Remarks_Array) is
Writer : XML.SAX.Pretty_Writers.SAX_Pretty_Writer;
Attributes : XML.SAX.Attributes.SAX_Attributes;
begin
Writer.Set_Offset (2);
Writer.Start_Document;
Writer.Start_Element (Qualified_Name => +"CharacterRemarks");
for J in Remarks'Range loop
Attributes.Clear;
Attributes.Set_Value (+"name", Remarks (J).Name);
Writer.Start_Element
(Qualified_Name => +"Character", Attributes => Attributes);
Writer.Characters (Remarks (J).Remark);
Writer.End_Element (Qualified_Name => +"Character");
end loop;
Writer.End_Element (Qualified_Name => +"CharacterRemarks");
Writer.End_Document;
Ada.Wide_Wide_Text_IO.Put_Line (Writer.Text.To_Wide_Wide_String);
end Output;
begin
Output
(((+"April", +"Bubbly: I'm > Tam and <= Emily"),
(+"Tam O'Shanter", +"Burns: ""When chapman billies leave the street ..."""),
(+"Emily", +"Short & shrift")));
end Main;

View file

@ -0,0 +1,23 @@
( ( makeList
= characters name names remark remarks
. !arg:(?names.?remarks)
& :?characters
& whl
' ( (!names.!remarks):(%?name ?names.%?remark ?remarks)
& !characters (Character.(name.!name),!remark):?characters
)
& ("?"."xml version='1.0' encoding='utf-8'") (CharacterRemarks.,!characters)
)
& put
$ ( toML
$ ( makeList
$ ( April "Tam O'Shanter" Emily
. "Bubbly: I'm > Tam and <= Emily"
"Burns: \"When chapman billies leave the street ...\""
"Short & shrift"
)
)
, "out.xml"
, NEW
)
)

View file

@ -0,0 +1 @@
<?xml version='1.0' encoding='utf-8'?><CharacterRemarks><Character name="April">Bubbly: I'm &gt; Tam and &lt;= Emily</Character><Character name="Tam O&#39;Shanter">Burns: "When chapman billies leave the street ..."</Character><Character name="Emily">Short &amp; shrift</Character></CharacterRemarks>

View file

@ -0,0 +1,34 @@
function xmlquote(sequence s)
sequence r
r = ""
for i = 1 to length(s) do
if s[i] = '<' then
r &= "&lt;"
elsif s[i] = '>' then
r &= "&gt;"
elsif s[i] = '&' then
r &= "&amp;"
elsif s[i] = '"' then
r &= "&quot;"
elsif s[i] = '\'' then
r &= "&apos;"
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")

View file

@ -0,0 +1,52 @@
include "NSLog.incl"
include "Tlbx XML.incl"
local fn FormattedXMLTest
// Input data
CFArrayRef names = @[@"April", @"Tam O'Shanter", @"Emily"]
CFArrayRef remarks = @[@"Bubbly: I'm > Tam and <= Emily",
@"Burns: \"When chapman billies leave the street ...\"",
@"Short & shrift"]
// Root element
XMLElementRef root = fn XMLElementWithName( @"CharacterRemarks" )
// Create each <Character> element
for NSInteger i = 0 to fn ArrayCount(names) - 1
XMLElementRef character = fn XMLElementWithName( @"Character" )
// Add name attribute
XMLNodeRef nameAttr = fn XMLNodeAttributeWithName( @"name", names[i] )
XMLElementAddAttribute( character, nameAttr )
// Add remark as text content
XMLNodeRef textNode = fn XMLNodeTextWithStringValue( remarks[i] )
XMLElementAddChild( character, textNode )
XMLElementAddChild( root, character )
next
// Build the document
XMLDocumentRef doc = fn XMLDocumentWithRootElement(root)
XMLDocumentSetCharacterEncoding( doc, @"UTF-8" )
XMLDocumentSetVersion( doc, @"1.0" )
// Output file path
CFStringRef path = @"/tmp/characters.xml"
// Write the XML to file (pretty printed)
CFDataRef xmlData = fn XMLDocumentXMLDataWithOptions( doc, NSXMLNodePrettyPrint )
CFURLRef desktopURL = fn FileManagerURLForDirectory( NSDesktopDirectory, NSUserDomainMask )
CFURLRef url = fn URLByAppendingPathComponent( desktopURL, @"XML_Test.xml" )
BOOL success = fn DataWriteToURL( xmlData, url, NSDataWritingAtomic, NULL )
if ( success == YES )
NSLog( @"XML file successfully written to: %@", url )
fn WorkSpaceOpenURL( url )
else
NSLog( @"Failed to write XML file" )
end if
end fn
fn FormattedXMLTest
HandleEvents

View 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