beiträge im xsd-Schema vereinfacht

This commit is contained in:
Simon Martens
2024-06-21 10:27:22 +02:00
parent 495805e1f7
commit 5671b19c3d

View File

@@ -12,132 +12,103 @@
<xsd:element name="beitrag" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:annotation>
<xsd:documentation>Ein Beitrag kann entweder aus einem oder mehreren Stücken oder
einer Beilage sein und muss darauf verweisen.</xsd:documentation>
</xsd:annotation>
<xsd:element name="stueck" type="kgpz:stueckref"
minOccurs="1" maxOccurs="unbounded">
<xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element name="stueck" type="kgpz:stueckref">
<xsd:annotation>
<xsd:documentation>Verweist auf ein Stück, in wlchem ein Beitrag veröffentlicht
wurde. Darf mehrmals vorkommen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="beilage" type="kgpz:beilageref"
minOccurs="1" maxOccurs="unbounded">
<xsd:element name="beilage" type="kgpz:beilageref">
<xsd:annotation>
<xsd:documentation>Verweist auf eine Beilage, in welcher ein Beitrag
veröffentlicht wurde. Darf mehrmals vorkommen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence>
<xsd:element name="stueck" type="kgpz:stueckref"
minOccurs="1" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Verweist auf ein Stück, in welchem ein Beitrag
veröffentlicht wurde. Darf mehrmals vorkommen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="beilage" type="kgpz:beilageref"
minOccurs="1" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Verweist auf eine Beilage, in welcher ein Beitrag
veröffentlicht wurde. Darf mehrmals vorkommen.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
<xsd:group ref="kgpz:BeitragInfo" />
<xsd:element name="kategorie" minOccurs="0" maxOccurs="unbounded" type="kgpz:ref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf eine Kategorie, in die der Beitrag
eingeordnet werden kann.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="datum" type="kgpz:date" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Optional: Das Datum, welches im Beitrag angegeben ist.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="titel" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Optional: Der Titel des Beitrags.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="incipit" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Optional: Der Anfang des Beitrags.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="werk" type="kgpz:werkref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf ein Werk.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="beitrag" type="kgpz:beitragref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf einen Beitrag.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="akteur" type="kgpz:akteurref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf eine Person, die mit dem Beitrag in
Verbindung steht.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ort" type="kgpz:ortref">
<xsd:annotation>
<xsd:documentation>Optional: Der Ort, welcher im Beitrag angegeben ist.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="anmerkung" type="kgpz:text" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Optional: Eine Anmerkung zum Beitrag. Öffentlich.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="vermerk" type="kgpz:text" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Optional: Ein Vermerk zum Beitrag. Intern.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Eindeutige ID des Beitrags.</xsd:documentation>
<xsd:documentation>Optional: Eindeutige ID des Beitrags.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="uniqueIndexBeitrag">
<xsd:annotation>
<xsd:documentation>Pflicht: jede vergebene ID eines Beitrags ist eindeutig.</xsd:documentation>
<xsd:documentation>Pflicht: jede vergebene ID eines Beitrags ist eindeutig.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="kgpz:beitrag" />
<xsd:field xpath="@id" />
</xsd:unique>
</xsd:unique>
</xsd:element>
<xsd:group name="BeitragInfo">
<xsd:sequence>
<xsd:element name="kategorie" minOccurs="0" maxOccurs="unbounded" type="kgpz:ref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf eine Kategorie, in die der Beitrag eingeordnet
werden kann.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="datum" type="kgpz:date" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Optional: Das Datum, welches im Beitrag angegeben ist.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="titel" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Optional: Der Titel des Beitrags.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="incipit" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Optional: Der Anfang des Beitrags.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="werk" minOccurs="0" maxOccurs="unbounded" type="kgpz:werkref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf ein Werk.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="beitrag" minOccurs="0" maxOccurs="unbounded" type="kgpz:beitragref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf einen Beitrag.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="akteur" minOccurs="0" maxOccurs="unbounded" type="kgpz:akteurref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf eine Person, die mit dem Beitrag in Verbindung
steht.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ort" minOccurs="0" maxOccurs="unbounded" type="kgpz:ortref">
<xsd:annotation>
<xsd:documentation>Optional: Der Ort, welcher im Beitrag angegeben ist.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="anmerkung" type="kgpz:text" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Optional: Eine Anmerkung zum Beitrag. Öffentlich.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="vermerk" type="kgpz:text" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Optional: Ein Vermerk zum Beitrag. Intern.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
</xsd:schema>
</xsd:schema>