Erklärung und Ergänzung Schemata

This commit is contained in:
Simon Martens
2024-05-08 18:31:39 +02:00
parent 9f354952e8
commit 43fd4b7127
13 changed files with 120 additions and 91 deletions

View File

@@ -19,6 +19,7 @@
<!-- TODO: URI FOR GND -->
<xsd:element name="gnd" minOccurs="0" maxOccurs="1" type="xsd:anyURI" nillable="false" />
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="vermerk" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required" />
</xsd:complexType>

View File

@@ -11,44 +11,21 @@
<xsd:sequence>
<xsd:element name="beitrag" maxOccurs="unbounded">
<xsd:complexType>
<xsd:choice>
<xsd:sequence>
<xsd:choice>
<xsd:sequence>
<xsd:choice>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="beilage" type="kgpz:StueckBeilageRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:sequence>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="beilage" type="kgpz:StueckBeilageRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:sequence>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="beilage" type="kgpz:StueckBeilageRef"
minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:choice>
<xsd:element name="titel" type="kgpz:NonEmptyString" minOccurs="1"
maxOccurs="1" />
<xsd:element name="incipit" type="kgpz:NonEmptyString" minOccurs="0"
maxOccurs="1" />
<xsd:group ref="kgpz:BeitragInfo" />
</xsd:sequence>
<xsd:sequence>
<xsd:choice>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="beilage" type="kgpz:StueckBeilageRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:sequence>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef"
minOccurs="1" maxOccurs="unbounded" />
<xsd:element name="beilage" type="kgpz:StueckBeilageRef"
minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:choice>
<xsd:element name="incipit" type="kgpz:NonEmptyString" minOccurs="1"
maxOccurs="1" />
<xsd:group ref="kgpz:BeitragInfo" />
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:choice>
<xsd:group ref="kgpz:BeitragInfo" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
@@ -82,34 +59,15 @@
<xsd:group name="BeitragInfo">
<xsd:sequence>
<xsd:element name="datum" type="xsd:date" minOccurs="1"
maxOccurs="1" />
<xsd:element name="ort" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:attribute name="ref" type="kgpz:NonEmptyString"
use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="autorschaft" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="ref" type="kgpz:NonEmptyString"
use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="kategorie" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="ref" type="kgpz:NonEmptyString"
use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="rezensiert" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="ref" type="kgpz:NonEmptyString"
use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="titel" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:element name="incipit" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:element name="datum" type="xsd:date" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="ort" minOccurs="0" maxOccurs="unbounded" type="kgpz:ref" />
<xsd:element name="autor" minOccurs="0" maxOccurs="unbounded" type="kgpz:ref" />
<xsd:element name="kategorie" minOccurs="1" maxOccurs="unbounded" type="kgpz:ref" />
<xsd:element name="rezensiert" minOccurs="0" maxOccurs="unbounded" type="kgpz:ref" />
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="vermerk" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:group>
</xsd:schema>

View File

@@ -13,8 +13,17 @@
<xsd:simpleType name="Year">
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="2024"/>
<xsd:minInclusive value="0" />
<xsd:maxInclusive value="2024" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ref">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="ref" use="required" type="kgpz:NonEmptyString" />
<xsd:attribute name="unsicher" use="optional" default="false" type="xsd:boolean" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>

View File

@@ -15,8 +15,9 @@
<xsd:sequence>
<xsd:element name="name" type="NonEmptyString" minOccurs="1" maxOccurs="1" nillable="false" />
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="vermerk" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:integer" use="required" />
<xsd:attribute name="id" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>

View File

@@ -17,6 +17,7 @@
<!-- TODO: geonames URI regex -->
<xsd:element name="geonames" type="xsd:anyURI" minOccurs="0" maxOccurs="1" nillable="false" />
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="vermerk" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required" />
</xsd:complexType>

View File

@@ -24,7 +24,8 @@
<xsd:element name="beilagen" type="xsd:nonNegativeInteger" default="0" minOccurs="0" maxOccurs="1"/>
<!-- Vielleicht nötig -->
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" />
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="vermerk" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="nummer" type="xsd:integer" use="required" />
</xsd:complexType>

View File

@@ -13,9 +13,11 @@
<xsd:element name="werk" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="daten" type="kgpz:citation" minOccurs="0" maxOccurs="1" />
<xsd:element name="zitation" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:group ref="citation" />
<xsd:element name="zitation" type="NonEmptyString" minOccurs="1" maxOccurs="1" />
<xsd:element name="url" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"></xsd:element>
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="vermerk" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required" />
</xsd:complexType>
@@ -28,18 +30,14 @@
</xsd:unique>
</xsd:element>
<xsd:complexType name="citation">
<xsd:group name="citation">
<xsd:sequence>
<xsd:element name="autorschaft" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="herausgabe" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="druck" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="verlag" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="vertrieb" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="ausgabe" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:element name="titel" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:element name="titelannotation" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:element name="jahr" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
<xsd:element name="ort" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="autor" type="kgpz:ref" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="herausgabe" type="kgpz:ref" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="druck" type="kgpz:ref" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="verlag" type="kgpz:ref" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="vertrieb" type="kgpz:ref" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="jahr" type="kgpz:Year" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:group>
</xsd:schema>