summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-15 20:48:17 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-15 20:48:17 +0100
commit2544749215bc2465bfeca431e271110ca86d8a83 (patch)
tree6e1b9e500941cec7f63a526e27881491a13ee340 /testdata
parent6041324a65cfdb878154af68d74aac2c86372440 (diff)
added much more test data: meta domain, lists domain, bibliography domain, version typesystem, email typesystem, affiliation typesystem and complex book document which uses the aforementioned domains and typesystems.
Diffstat (limited to 'testdata')
-rw-r--r--testdata/xmlparser/affiliation.oxm10
-rw-r--r--testdata/xmlparser/bibliography_domain.oxm26
-rw-r--r--testdata/xmlparser/complex_book.oxd106
-rw-r--r--testdata/xmlparser/email.oxm8
-rw-r--r--testdata/xmlparser/lists_domain.oxm26
-rw-r--r--testdata/xmlparser/meta_domain.oxm35
-rw-r--r--testdata/xmlparser/version.oxm8
7 files changed, 219 insertions, 0 deletions
diff --git a/testdata/xmlparser/affiliation.oxm b/testdata/xmlparser/affiliation.oxm
new file mode 100644
index 0000000..d84dc30
--- /dev/null
+++ b/testdata/xmlparser/affiliation.oxm
@@ -0,0 +1,10 @@
+<?xml version="1.0" standalone="yes"?>
+<typesystem name="affiliation">
+ <struct name="affiliation">
+ <field name="workgroup" type="string"/>
+ <field name="departement" type="string"/>
+ <field name="institution" type="string"/>
+ </struct>
+
+ <constant name="citec.sc" type="affiliation" value="[workgroup=Semantic Computing Group,departement=Center of Excellence Cognitive Interaction Technology (CITEC), institution=Bielefeld University]"/>
+</typesystem>
diff --git a/testdata/xmlparser/bibliography_domain.oxm b/testdata/xmlparser/bibliography_domain.oxm
new file mode 100644
index 0000000..f1d25f8
--- /dev/null
+++ b/testdata/xmlparser/bibliography_domain.oxm
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<domain name="bibliography">
+
+ <import rel="domain" src="./book_domain.oxm"/>
+ <import rel="domain" src="./meta_domain.oxm"/>
+
+ <struct name="bibliography" transparent="true">
+ <field>
+ <childRef ref="bibEntry"/>
+ </field>
+ <parentRef ref="book">
+ <field name="bibliography" isSubtree="true"/>
+ </parentRef>
+ </struct>
+ <struct name="bibEntry">
+ <field name="authors" optional="true">
+ <childRef ref="meta.author"/>
+ </field>
+ <primitive name="name" type="string" isSubtree="true"/>
+ <primitive name="year" type="int" isSubtree="true"/>
+ <primitive name="journal" type="string" isSubtree="true" optional="true"/>
+ <primitive name="pages" type="cardinality" isSubtree="true" optional="true"/>
+ <!-- Here a geographical enum or something would be more exact -->
+ <primitive name="location" type="string" isSubtree="true" optional="true"/>
+ </struct>
+</domain>
diff --git a/testdata/xmlparser/complex_book.oxd b/testdata/xmlparser/complex_book.oxd
new file mode 100644
index 0000000..7d69713
--- /dev/null
+++ b/testdata/xmlparser/complex_book.oxd
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<document>
+
+ <import rel="domain" src="./book_domain.oxm"/>
+ <import rel="domain" src="./headings_domain.oxm"/>
+ <import rel="domain" src="./meta_domain.oxm"/>
+ <import rel="domain" src="./bibliography_domain.oxm"/>
+ <!--<import rel="domain" src="emphasis.oxm"/>
+ <import rel="domain" src="comments.oxm"/>
+ <import rel="domain" src="lists.oxm"/>
+ <alias tag="paragraph" aka="p"/>
+ <alias tag="emphasized" aka="em"/>-->
+
+ <book>
+ <meta>
+ <primaryAuthor>
+ <firstName>Immanuel</firstName>
+ <lastName>Kant</lastName>
+ <email>[ikant,philo.albertus-koenigsberg,de]</email>
+ <affiliation>[Logic and Metaphysics, Faculty of Philosophy, Albertus-University Königsberg]</affiliation>
+ </primaryAuthor>
+ <!-- Using this version tag leads to a very interesting bug:
+ A new transparent meta element gets created for it. Because only
+ one meta tag is allowed this leads to an error. So what to do?
+
+ <version>[1,0,0]</version> -->
+ </meta>
+
+ <heading>
+ Beantwortung der Frage: Was ist Aufklärung?
+ </heading>
+
+ <chapter name="content">
+ <heading>Was ist Aufklärung?</heading>
+
+ Aufklärung ist der Ausgang des Menschen aus seiner
+ selbstverschuldeten Unmündigkeit. Unmündigkeit ist
+ das Unvermögen, sich seines Verstandes ohne Leitung eines anderen zu
+ bedienen. Selbstverschuldet ist diese Unmündigkeit, wenn
+ die Ursache derselben nicht am Mangel des Verstandes, sondern der
+ Entschließung und des Mutes liegt, sich seiner ohne Leitung eines
+ andern zu bedienen.
+ Sapere aude! Habe Mut, dich deines eigenen Verstandes zu
+ bedienen! ist also der Wahlspruch der Aufklärung.
+ </chapter>
+
+ <bibliography>
+ <bibEntry>
+ <name>Dezember-Heft</name>
+ <journal>Berlinische Monatsschrift</journal>
+ <year>1784</year>
+ <pages>{481-494}</pages>
+ </bibEntry>
+ <bibEntry>
+ <name>Kleine Schriften</name>
+ <primaryAuthor>
+ <firstName>Immanuel</firstName>
+ <lastName>Kant</lastName>
+ </primaryAuthor>
+ <year>1793</year>
+ <pages>{34-50}</pages>
+ <location>Neuwied</location>
+ </bibEntry>
+ <bibEntry>
+ <name>Zerstreute Aufsätze</name>
+ <primaryAuthor>
+ <firstName>Immanuel</firstName>
+ <lastName>Kant</lastName>
+ </primaryAuthor>
+ <year>1793</year>
+ <pages>{25-37}</pages>
+ <location>Frankfurt und Leipzig</location>
+ </bibEntry>
+ <bibEntry>
+ <name>Sämmtliche kleine Schriften</name>
+ <primaryAuthor>
+ <firstName>Immanuel</firstName>
+ <lastName>Kant</lastName>
+ </primaryAuthor>
+ <year>1798</year>
+ <pages>{159-172}</pages>
+ <location>Königsberg u. Leipzig</location>
+ </bibEntry>
+ <bibEntry>
+ <name>I. Kant's vermischte Schriften</name>
+ <primaryAuthor>
+ <firstName>Immanuel</firstName>
+ <lastName>Kant</lastName>
+ </primaryAuthor>
+ <year>1799</year>
+ <pages>{687-700}</pages>
+ <location>Halle</location>
+ </bibEntry>
+ <bibEntry>
+ <name>Vorzügliche kleine Schriften und Aufsätze</name>
+ <primaryAuthor>
+ <firstName>Immanuel</firstName>
+ <lastName>Kant</lastName>
+ </primaryAuthor>
+ <year>1833</year>
+ <pages>{75-84}</pages>
+ <location>Leipzig</location>
+ </bibEntry>
+ </bibliography>
+ </book>
+</document>
diff --git a/testdata/xmlparser/email.oxm b/testdata/xmlparser/email.oxm
new file mode 100644
index 0000000..325f89a
--- /dev/null
+++ b/testdata/xmlparser/email.oxm
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="yes"?>
+<typesystem name="email">
+ <struct name="email">
+ <field name="local" type="string"/>
+ <field name="domainName" type="string"/>
+ <field name="domainSuffix" type="string"/>
+ </struct>
+</typesystem>
diff --git a/testdata/xmlparser/lists_domain.oxm b/testdata/xmlparser/lists_domain.oxm
new file mode 100644
index 0000000..4360a6d
--- /dev/null
+++ b/testdata/xmlparser/lists_domain.oxm
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<domain name="lists">
+ <import rel="domain" src="book.oxm"/>
+
+ <struct name="ul" isa="book.paragraph">
+ <!-- Here we solve the problem of parents using the isa
+ mechanism, because a list may occur whereever a paragraph
+ may occur. However we do want to override the default field. -->
+ <field>
+ <childRef name="item"/>
+ </field>
+ </struct>
+ <struct name="ol" isa="book.paragraph">
+ <!-- Here we solve the problem of parents using the isa
+ mechanism, because a list may occur whereever a paragraph
+ may occur. However we do want to override the default field. -->
+ <field>
+ <childRef name="item"/>
+ </field>
+ </struct>
+ <struct name="item">
+ <field>
+ <childRef name="book.paragaph"/>
+ </field>
+ </struct>
+</domain>
diff --git a/testdata/xmlparser/meta_domain.oxm b/testdata/xmlparser/meta_domain.oxm
new file mode 100644
index 0000000..ffb5413
--- /dev/null
+++ b/testdata/xmlparser/meta_domain.oxm
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<domain name="meta">
+
+ <import rel="typesystem" src="./affiliation.oxm"/>
+ <import rel="typesystem" src="./email.oxm"/>
+ <import rel="typesystem" src="./version.oxm"/>
+ <import rel="domain" src="./book_domain.oxm"/>
+
+ <struct name="meta" cardinality="{1}" transparent="true">
+ <field name="authors">
+ <childRef ref="author"/>
+ <childRef ref="version"/>
+ </field>
+ <parentRef ref="book">
+ <field name="meta" isSubtree="true" optional="true"/>
+ </parentRef>
+ <parentRef ref="chapter">
+ <field name="meta" isSubtree="true" optional="true"/>
+ </parentRef>
+ <!-- One could also include "article" and other things here -->
+ </struct>
+ <!-- no explicit cardinality, because we might have multiple authors -->
+ <struct name="author">
+ <primitive isSubtree="true" name="firstName" type="string"/>
+ <primitive isSubtree="true" name="lastName" type="string"/>
+ <primitive isSubtree="true" name="email" type="email" optional="true"/>
+ <primitive isSubtree="true" name="affiliation" type="affiliation" optional="true"/>
+ </struct>
+ <!-- but we need at least one primary author -->
+ <struct name="primaryAuthor" cardinality="{>0}" isa="author"/>
+ <!-- version intermediate struct -->
+ <struct name="version" cardinality="{0-1}">
+ <primitive type="version"/>
+ </struct>
+</domain>
diff --git a/testdata/xmlparser/version.oxm b/testdata/xmlparser/version.oxm
new file mode 100644
index 0000000..0d52736
--- /dev/null
+++ b/testdata/xmlparser/version.oxm
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="yes"?>
+<typesystem name="version">
+ <struct name="version">
+ <field name="major" type="int"/>
+ <field name="minor" type="int"/>
+ <field name="patch" type="int"/>
+ </struct>
+</typesystem>