Änderungen XSD Schema: Verweis auf Beitrag

This commit is contained in:
Simon Martens
2024-06-19 12:45:11 +02:00
parent 26ee703cd1
commit 4dc8802e4e
2 changed files with 161 additions and 90 deletions

View File

@@ -17,14 +17,14 @@
<xsd:documentation>Ein Beitrag kann entweder aus einem oder mehreren Stücken oder <xsd:documentation>Ein Beitrag kann entweder aus einem oder mehreren Stücken oder
einer Beilage sein und muss darauf verweisen.</xsd:documentation> einer Beilage sein und muss darauf verweisen.</xsd:documentation>
</xsd:annotation> </xsd:annotation>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef" <xsd:element name="stueck" type="kgpz:stueckref"
minOccurs="1" maxOccurs="unbounded"> minOccurs="1" maxOccurs="unbounded">
<xsd:annotation> <xsd:annotation>
<xsd:documentation>Verweist auf ein Stück, in wlchem ein Beitrag veröffentlicht <xsd:documentation>Verweist auf ein Stück, in wlchem ein Beitrag veröffentlicht
wurde. Darf mehrmals vorkommen.</xsd:documentation> wurde. Darf mehrmals vorkommen.</xsd:documentation>
</xsd:annotation> </xsd:annotation>
</xsd:element> </xsd:element>
<xsd:element name="beilage" type="kgpz:StueckBeilageRef" <xsd:element name="beilage" type="kgpz:beilageref"
minOccurs="1" maxOccurs="unbounded"> minOccurs="1" maxOccurs="unbounded">
<xsd:annotation> <xsd:annotation>
<xsd:documentation>Verweist auf eine Beilage, in welcher ein Beitrag <xsd:documentation>Verweist auf eine Beilage, in welcher ein Beitrag
@@ -32,14 +32,14 @@
</xsd:annotation> </xsd:annotation>
</xsd:element> </xsd:element>
<xsd:sequence> <xsd:sequence>
<xsd:element name="stueck" type="kgpz:StueckBeitragRef" <xsd:element name="stueck" type="kgpz:stueckref"
minOccurs="1" maxOccurs="unbounded"> minOccurs="1" maxOccurs="unbounded">
<xsd:annotation> <xsd:annotation>
<xsd:documentation>Verweist auf ein Stück, in welchem ein Beitrag <xsd:documentation>Verweist auf ein Stück, in welchem ein Beitrag
veröffentlicht wurde. Darf mehrmals vorkommen.</xsd:documentation> veröffentlicht wurde. Darf mehrmals vorkommen.</xsd:documentation>
</xsd:annotation> </xsd:annotation>
</xsd:element> </xsd:element>
<xsd:element name="beilage" type="kgpz:StueckBeilageRef" <xsd:element name="beilage" type="kgpz:beilageref"
minOccurs="1" maxOccurs="unbounded"> minOccurs="1" maxOccurs="unbounded">
<xsd:annotation> <xsd:annotation>
<xsd:documentation>Verweist auf eine Beilage, in welcher ein Beitrag <xsd:documentation>Verweist auf eine Beilage, in welcher ein Beitrag
@@ -50,97 +50,26 @@
</xsd:choice> </xsd:choice>
<xsd:group ref="kgpz:BeitragInfo" /> <xsd:group ref="kgpz:BeitragInfo" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Eindeutige ID des Beitrags.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:sequence> </xsd:sequence>
</xsd:complexType> </xsd:complexType>
<xsd:unique name="uniqueIndexBeitrag">
<xsd:annotation>
<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:element> </xsd:element>
<xsd:complexType name="StueckBeitragRef">
<xsd:annotation>
<xsd:documentation>Referenziert ein Stück</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="datum"
use="required">
<xsd:annotation>
<xsd:documentation>Pflicht: Das Datum, zumindest aber: das Jahr des Stücks.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union
memberTypes="xsd:date xsd:gYear xsd:gMonth xsd:gDay xsd:gYearMonth xsd:gMonthDay xsd:time xsd:dateTime" />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="nr" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die Nummer des Stücks.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="von" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Die erste Seitenzahl des Beitrags, falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="bis" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Die letzte Seitenzahl des Beitrags, falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="StueckBeilageRef">
<xsd:annotation>
<xsd:documentation>Referenziert eine Beilage</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="datum"
use="required">
<xsd:annotation>
<xsd:documentation>Pflicht: Das Datum, zumindest aber: das Jahr des Stücks.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union
memberTypes="xsd:date xsd:gYear xsd:gMonth xsd:gDay xsd:gYearMonth xsd:gMonthDay xsd:time xsd:dateTime" />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="nr" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die Nummer des Stücks.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="beilage" type="xsd:positiveInteger"
use="required">
<xsd:annotation>
<xsd:documentation>Pflicht: Die Nummer der Beilage.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="von" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die erste Seitenzahl des Beitrags (nur bei mehreren Beiträgen
in einer Beilage).</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="bis" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die letzte Seitenzahl des Beitrags, erstreckt er sich über
mehrere Seiten (nur bei mehreren Beiträgen in einer Beilage).</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:group name="BeitragInfo"> <xsd:group name="BeitragInfo">
<xsd:sequence> <xsd:sequence>
@@ -176,6 +105,12 @@
</xsd:annotation> </xsd:annotation>
</xsd:element> </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:element name="akteur" minOccurs="0" maxOccurs="unbounded" type="kgpz:akteurref">
<xsd:annotation> <xsd:annotation>
<xsd:documentation>Optional: Verweis auf eine Person, die mit dem Beitrag in Verbindung <xsd:documentation>Optional: Verweis auf eine Person, die mit dem Beitrag in Verbindung

View File

@@ -31,6 +31,142 @@
</xsd:simpleContent> </xsd:simpleContent>
</xsd:complexType> </xsd:complexType>
<xsd:complexType name="stueckref">
<xsd:annotation>
<xsd:documentation>Bezieht sich auf ein Stück und qualifiziert diese Beziehung.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="datum"
use="required">
<xsd:annotation>
<xsd:documentation>Pflicht: Das Datum, zumindest aber: das Jahr des Stücks.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union
memberTypes="xsd:date xsd:gYear xsd:gMonth xsd:gDay xsd:gYearMonth xsd:gMonthDay xsd:time xsd:dateTime" />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="nr" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die Nummer des Stücks.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="von" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Die erste Seitenzahl des Bezugs, falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="bis" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Die letzte Seitenzahl des Bezugs, falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="kat" use="optional" default="auszug">
<xsd:annotation>
<xsd:documentation>Die Art der Beziehung zum Beitrag. Werte: auszug (default), erwähnung, kommentar.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="auszug"/>
<xsd:enumeration value="erwähnung" />
<xsd:enumeration value="kommentar"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="beilageref">
<xsd:annotation>
<xsd:documentation>Bezieht sich auf eine Beilage und qualifiziert diese Beziehung</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="datum"
use="required">
<xsd:annotation>
<xsd:documentation>Pflicht: Das Datum, zumindest aber: das Jahr des Stücks.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:union
memberTypes="xsd:date xsd:gYear xsd:gMonth xsd:gDay xsd:gYearMonth xsd:gMonthDay xsd:time xsd:dateTime" />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="nr" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die Nummer des Stücks.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="beilage" type="xsd:positiveInteger"
use="required">
<xsd:annotation>
<xsd:documentation>Pflicht: Die Nummer der Beilage.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="von" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die erste Seitenzahl des Beitrags (nur bei mehreren Beiträgen
in einer Beilage).</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="bis" type="xsd:positiveInteger"
use="optional">
<xsd:annotation>
<xsd:documentation>Optional: Die letzte Seitenzahl des Beitrags, erstreckt er sich über
mehrere Seiten (nur bei mehreren Beiträgen in einer Beilage).</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="kat" use="optional" default="auszug">
<xsd:annotation>
<xsd:documentation>Die Art der Beziehung zum Beitrag. Werte: auszug (default), erwähnung, kommentar.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="auszug"/>
<xsd:enumeration value="erwähnung" />
<xsd:enumeration value="kommentar"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="beitragref">
<xsd:annotation>
<xsd:documentation>Bezieht sich auf einen Beitrag und qualifiziert diese Beziehung. </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="kgpz:ref">
<xsd:attribute name="kat" use="required">
<xsd:annotation>
<xsd:documentation>Die Art der Beziehung zum Beitrag. Werte: erwähnung, kommentar.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="erwähnung" />
<xsd:enumeration value="kommentar"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="s" use="optional" type="kgpz:NonEmptyString">
<xsd:annotation>
<xsd:documentation>Angabe zu Seite oder Stelle innerhalb eines Beitrages.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="werkref"> <xsd:complexType name="werkref">
<xsd:annotation> <xsd:annotation>
<xsd:documentation> Bezieht sich auf ein Werk und qualifiziert diese Beziehung. </xsd:documentation> <xsd:documentation> Bezieht sich auf ein Werk und qualifiziert diese Beziehung. </xsd:documentation>
@@ -210,4 +346,4 @@
</xsd:simpleType> </xsd:simpleType>
</xsd:attribute> </xsd:attribute>
</xsd:attributeGroup> </xsd:attributeGroup>
</xsd:schema> </xsd:schema>