mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-31 03:40:08 +00:00
[xml] Initial implementation of core:encoding/xml.
A from-scratch XML implementation, loosely modeled on the [spec](https://www.w3.org/TR/2006/REC-xml11-20060816). Features: - Supports enough of the XML 1.0/1.1 spec to handle the 99.9% of XML documents in common current usage. - Simple to understand and use. Small. Caveats: - We do NOT support HTML in this package, as that may or may not be valid XML. If it works, great. If it doesn't, that's not considered a bug. - We do NOT support UTF-16. If you have a UTF-16 XML file, please convert it to UTF-8 first. Also, our condolences. - <[!ELEMENT and <[!ATTLIST are not supported, and will be either ignored or return an error depending on the parser options. TODO: - Optional CDATA unboxing. - Optional `>`, ` `, ` ` and other escape substitution in tag bodies. - Test suite MAYBE: - XML writer? - Serialize/deserialize Odin types?
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="nl" sourcelanguage="en">
|
||||
<context>
|
||||
<name>Page</name>
|
||||
<message>
|
||||
<source>Text for translation</source>
|
||||
<comment>commenting</comment>
|
||||
<translation type="obsolete">Tekst om te vertalen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Also text to translate</source>
|
||||
<extracomment>some text</extracomment>
|
||||
<translation>Ook tekst om te vertalen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>installscript</name>
|
||||
<message>
|
||||
<source>99 bottles of beer on the wall</source>
|
||||
<oldcomment>some new comments here</oldcomment>
|
||||
<translation>99 flessen bier op de muur</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>apple_count</name>
|
||||
<message numerus="yes">
|
||||
<source>%d apple(s)</source>
|
||||
<translation>
|
||||
<numerusform>%d appel</numerusform>
|
||||
<numerusform>%d appels</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<file id="42" original="Foozle.xml" source-language="en" target-language="nl-NL" datatype="plaintext">
|
||||
<body>
|
||||
<trans-unit id="874396" maxwidth="20" size-unit="char">
|
||||
<source>text</source>
|
||||
<target state="translated">tekst</target>
|
||||
<note>Context</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="874397" approved="yes">
|
||||
<source>text 1</source>
|
||||
<target state="translated">tekst 1</target>
|
||||
<note>Context 1</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="874398">
|
||||
<source>text 2</source>
|
||||
<target state="needs-translation"/>
|
||||
<context context-type="context">Context of the segment 2</context>
|
||||
</trans-unit>
|
||||
<trans-unit id="874399" translate="no">
|
||||
<source>text 3</source>
|
||||
<target state="final">translation 3</target>
|
||||
<note>Context 3</note>
|
||||
</trans-unit>
|
||||
<group restype="x-gettext-plurals">
|
||||
<note>Plurals</note>
|
||||
<trans-unit id="14343743[0]">
|
||||
<source>%d month</source>
|
||||
<target xml:lang="nl" state="translated">%d maand</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="14343743[1]">
|
||||
<source>%d months</source>
|
||||
<target xml:lang="nl" state="translated">%d maanden</target>
|
||||
</trans-unit>
|
||||
</group>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en" trgLang="nl">
|
||||
<file id="f1">
|
||||
<notes>
|
||||
<note id="n1">Note for file</note>
|
||||
</notes>
|
||||
<unit id="u1">
|
||||
<notes>
|
||||
<note id="n1">Note for unit</note>
|
||||
</notes>
|
||||
<segment id="s1" state="initial">
|
||||
<source>text</source>
|
||||
<target></target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u2">
|
||||
<notes>
|
||||
<note id="n2">Note for unit 2</note>
|
||||
</notes>
|
||||
<segment id="s2" state="translated">
|
||||
<source>text 2</source>
|
||||
<target>translation 2</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u3">
|
||||
<notes>
|
||||
<note id="n3">Note for unit 3</note>
|
||||
</notes>
|
||||
<segment id="s3" state="final">
|
||||
<source>text 3</source>
|
||||
<target>approved translation 3</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<group id="90290" type="x-gettext:plurals">
|
||||
<unit id="90291" name="90290[0]">
|
||||
<notes>
|
||||
<note category="context">Plurals</note>
|
||||
</notes>
|
||||
<segment>
|
||||
<source>%d month</source>
|
||||
<target xml:lang="nl">%d maand</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="90292" name="90290[1]">
|
||||
<segment>
|
||||
<source>%d months</source>
|
||||
<target xml:lang="nl">%d maanden</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</group>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE 恥ずべきフクロウ>
|
||||
<恥ずべきフクロウ 올빼미_id="Foozle <![CDATA[<greeting>Hello, world!"</greeting>]]>Barzle">
|
||||
<부끄러운:barzle>
|
||||
<name foo:bar="birmese">ရှက်စရာ ဇီးကွက်</name>
|
||||
<nickname>Owl of Shame</nickname>
|
||||
<data>More CDATA <![CDATA[<greeting>Hello, world!</greeting><![CDATA] < ]]> Nonsense.</data>
|
||||
</부끄러운:barzle>
|
||||
Reference in New Issue
Block a user