summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-18 16:32:23 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-18 16:32:23 +0100
commita36be9501898d3bd2b7c85c2225bff2217dcde72 (patch)
tree0e506a01aa6cabdc91d5fe0ce88259fec9c5d7b9
parentdfca16e5fb6bd14462fef41c8c771e2f758c92d3 (diff)
restructured domains and deleted as many duplicates from testdata as possible.
-rw-r--r--data/domain/bibliography.osxml33
-rw-r--r--data/domain/meta.osxml14
-rw-r--r--testdata/osxmlparser/affiliation.osxml10
-rw-r--r--testdata/osxmlparser/bibliography_domain.osxml26
-rw-r--r--testdata/osxmlparser/color.osxml18
-rw-r--r--testdata/osxmlparser/complex_book.osxml63
-rw-r--r--testdata/osxmlparser/email.osxml8
-rw-r--r--testdata/osxmlparser/generic.osxml37
-rw-r--r--testdata/osxmlparser/lists_domain.osxml26
-rw-r--r--testdata/osxmlparser/meta_domain.osxml35
-rw-r--r--testdata/osxmlparser/test.osxml15
-rw-r--r--testdata/osxmlparser/version.osxml8
12 files changed, 65 insertions, 228 deletions
diff --git a/data/domain/bibliography.osxml b/data/domain/bibliography.osxml
index 11e2606..5953e5f 100644
--- a/data/domain/bibliography.osxml
+++ b/data/domain/bibliography.osxml
@@ -12,16 +12,31 @@
<field name="bibliography" isSubtree="true"/>
</parentRef>
</struct>
-
<struct name="bibEntry">
- <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"/>
- <field name="authors" optional="true">
- <childRef ref="meta.author"/>
+ <field>
+ <childRef ref="meta.authors"/>
+ <childRef ref="title"/>
+ <childRef ref="year"/>
+ <childRef ref="journal"/>
+ <childRef ref="pages"/>
+ <childRef ref="location"/>
</field>
</struct>
+ <struct name="title" cardinality="{1}">
+ <primitive type="string"/>
+ </struct>
+ <struct name="year" cardinality="{1}">
+ <primitive type="int"/>
+ </struct>
+ <struct name="journal" cardinality="{0-1}">
+ <!-- here some kind of database reference would be better -->
+ <primitive type="string"/>
+ </struct>
+ <struct name="pages" cardinality="{0-1}">
+ <primitive type="cardinality"/>
+ </struct>
+ <struct name="location" cardinality="{0-1}">
+ <!-- here some kind of database reference would be better -->
+ <primitive type="string"/>
+ </struct>
</domain>
diff --git a/data/domain/meta.osxml b/data/domain/meta.osxml
index 67ba1c9..d214921 100644
--- a/data/domain/meta.osxml
+++ b/data/domain/meta.osxml
@@ -21,14 +21,24 @@
<!-- One could also include "article" and other things here -->
</struct>
- <!-- no explicit cardinality, because we might have multiple authors -->
- <struct name="author">
+ <struct name="person">
<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>
+ <!-- wrapper author tag to allow specifying no authors whatsoever. But if
+ an author is specified it has to be at least one primary author. -->
+ <struct name="authors" transparent="true" cardinality="{0-1}">
+ <field>
+ <childRef ref="author"/>
+ </field>
+ </struct>
+
+ <!-- no explicit cardinality, because we might have multiple authors -->
+ <struct name="author" isa="person"/>
+
<!-- but we need at least one primary author -->
<struct name="primaryAuthor" cardinality="{>0}" isa="author"/>
diff --git a/testdata/osxmlparser/affiliation.osxml b/testdata/osxmlparser/affiliation.osxml
deleted file mode 100644
index d84dc30..0000000
--- a/testdata/osxmlparser/affiliation.osxml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?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/osxmlparser/bibliography_domain.osxml b/testdata/osxmlparser/bibliography_domain.osxml
deleted file mode 100644
index 53ba531..0000000
--- a/testdata/osxmlparser/bibliography_domain.osxml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<domain name="bibliography">
-
- <import rel="domain" src="./book_domain.osxml"/>
- <import rel="domain" src="./meta_domain.osxml"/>
-
- <struct name="bibliography" transparent="true">
- <field>
- <childRef ref="bibEntry"/>
- </field>
- <parentRef ref="book">
- <field name="bibliography" isSubtree="true"/>
- </parentRef>
- </struct>
- <struct name="bibEntry">
- <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"/>
- <field name="authors" optional="true">
- <childRef ref="meta.author"/>
- </field>
- </struct>
-</domain>
diff --git a/testdata/osxmlparser/color.osxml b/testdata/osxmlparser/color.osxml
deleted file mode 100644
index 17adea4..0000000
--- a/testdata/osxmlparser/color.osxml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<typesystem name="color">
- <struct name="color">
- <field name="r" type="int"/>
- <field name="g" type="int"/>
- <field name="b" type="int"/>
- </struct>
-
- <constant name="aquamarine1" type="color" value="[127,255,212]"/>
- <constant name="aquamarine2" type="color" value="[118,238,198]"/>
- <constant name="aquamarine3" type="color" value="[102,205,170]"/>
- <constant name="aquamarine" type="color" value="[127,255,212]"/>
- <constant name="azure1" type="color" value="[240,255,255]"/>
- <constant name="azure2" type="color" value="[224,238,238]"/>
- <constant name="azure3" type="color" value="[193,205,205]"/>
- <constant name="azure4" type="color" value="[131,139,139]"/>
- <constant name="azure" type="color" value="[240,255,255]"/>
-</typesystem>
diff --git a/testdata/osxmlparser/complex_book.osxml b/testdata/osxmlparser/complex_book.osxml
index b610454..8fff93d 100644
--- a/testdata/osxmlparser/complex_book.osxml
+++ b/testdata/osxmlparser/complex_book.osxml
@@ -1,13 +1,12 @@
<?xml version="1.0"?>
<document>
- <import rel="domain" src="./book_domain.osxml"/>
- <import rel="domain" src="./headings_domain.osxml"/>
- <import rel="domain" src="./meta_domain.osxml"/>
- <import rel="domain" src="./bibliography_domain.osxml"/>
+ <import rel="domain" src="book"/>
+ <import rel="domain" src="headings"/>
+ <import rel="domain" src="meta"/>
+ <import rel="domain" src="bibliography"/>
<!--<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"/>-->
@@ -19,40 +18,18 @@
<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> -->
+ <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>
+ <title>Dezember-Heft</title>
<journal>Berlinische Monatsschrift</journal>
<year>1784</year>
<pages>{481-494}</pages>
</bibEntry>
<bibEntry>
- <name>Kleine Schriften</name>
+ <title>Kleine Schriften</title>
<primaryAuthor>
<firstName>Immanuel</firstName>
<lastName>Kant</lastName>
@@ -62,7 +39,7 @@
<location>Neuwied</location>
</bibEntry>
<bibEntry>
- <name>Zerstreute Aufsätze</name>
+ <title>Zerstreute Aufsätze</title>
<primaryAuthor>
<firstName>Immanuel</firstName>
<lastName>Kant</lastName>
@@ -72,7 +49,7 @@
<location>Frankfurt und Leipzig</location>
</bibEntry>
<bibEntry>
- <name>Sämmtliche kleine Schriften</name>
+ <title>Sämmtliche kleine Schriften</title>
<primaryAuthor>
<firstName>Immanuel</firstName>
<lastName>Kant</lastName>
@@ -82,7 +59,7 @@
<location>Königsberg u. Leipzig</location>
</bibEntry>
<bibEntry>
- <name>I. Kant's vermischte Schriften</name>
+ <title>I. Kant's vermischte Schriften</title>
<primaryAuthor>
<firstName>Immanuel</firstName>
<lastName>Kant</lastName>
@@ -92,7 +69,7 @@
<location>Halle</location>
</bibEntry>
<bibEntry>
- <name>Vorzügliche kleine Schriften und Aufsätze</name>
+ <title>Vorzügliche kleine Schriften und Aufsätze</title>
<primaryAuthor>
<firstName>Immanuel</firstName>
<lastName>Kant</lastName>
@@ -102,5 +79,23 @@
<location>Leipzig</location>
</bibEntry>
</bibliography>
+
+ <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>
</book>
</document>
diff --git a/testdata/osxmlparser/email.osxml b/testdata/osxmlparser/email.osxml
deleted file mode 100644
index 325f89a..0000000
--- a/testdata/osxmlparser/email.osxml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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/osxmlparser/generic.osxml b/testdata/osxmlparser/generic.osxml
deleted file mode 100644
index 799ed41..0000000
--- a/testdata/osxmlparser/generic.osxml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<typesystem name="border">
- <import>./color.osxml</import>
-
- <enum name="border-style">
- <entry>none</entry>
- <entry>dotted</entry>
- <entry>dashed</entry>
- <entry>solid</entry>
- <entry>double</entry>
- <entry>groove</entry>
- <entry>ridge</entry>
- <entry>inset</entry>
- <entry>outset</entry>
- </enum>
-
- <constant name="zero" value="0" type="int" />
- <constant name="black" value="[zero, zero, zero]" type="color" />
-
- <struct name="border">
- <field name="style" type="border-style"/>
- <field name="color" type="color" default="black" />
- </struct>
-
- <constant name="beautifulBorder" type="border" value="[color=aquamarine,style=solid]" />
- <constant name="moreBeautifulBorder" type="border" value="[dotted, azure]" />
-</typesystem>
-<!--<domain name="color">
- <struct name="bla" cardinality="{1,2}" isa="blub"/>
- <struct name="blub" cardinality="{1-3,5,>7}">
- <fields>
- <field></field>
- <primitive type="bla"/>
- </fields>
- </struct>
-</domain>-->
-
diff --git a/testdata/osxmlparser/lists_domain.osxml b/testdata/osxmlparser/lists_domain.osxml
deleted file mode 100644
index cacb9cc..0000000
--- a/testdata/osxmlparser/lists_domain.osxml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<domain name="lists">
- <import rel="domain" src="book.osxml"/>
-
- <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/osxmlparser/meta_domain.osxml b/testdata/osxmlparser/meta_domain.osxml
deleted file mode 100644
index 52dffc5..0000000
--- a/testdata/osxmlparser/meta_domain.osxml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>
-<domain name="meta">
-
- <import rel="typesystem" src="./affiliation.osxml"/>
- <import rel="typesystem" src="./email.osxml"/>
- <import rel="typesystem" src="./version.osxml"/>
- <import rel="domain" src="./book_domain.osxml"/>
-
- <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/osxmlparser/test.osxml b/testdata/osxmlparser/test.osxml
deleted file mode 100644
index e492488..0000000
--- a/testdata/osxmlparser/test.osxml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<domain name="test">
-
- <import rel="domain" src="./book_domain.osxml"/>
- <import rel="typesystem" src="./color.osxml"/>
-
- <struct name="fancycolor">
-
- <primitive type="color"/>
-
- <parentRef ref="book.book">
- <fieldRef ref="$default"/>
- </parentRef>
- </struct>
-</domain>
diff --git a/testdata/osxmlparser/version.osxml b/testdata/osxmlparser/version.osxml
deleted file mode 100644
index 0d52736..0000000
--- a/testdata/osxmlparser/version.osxml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?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>