Files
KGPZ/XSD/stuecke.xsd
2024-11-15 18:47:30 +01:00

110 lines
6.2 KiB
XML

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="https://www.koenigsberger-zeitungen.de"
xmlns="https://www.koenigsberger-zeitungen.de"
xmlns:kgpz="https://www.koenigsberger-zeitungen.de" elementFormDefault="qualified">
<!-- Vorschlag: Stücke aus dem Datum von Dateinamen ableiten -->
<xsd:include schemaLocation="common.xsd" />
<xsd:element name="stuecke">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="stueck" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="nummer" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Die Nummer des Stücks, falls bekannt.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="kgpz:NonEmptyString">
<xsd:attribute name="korrigiert" type="kgpz:NonEmptyString" use="optional"></xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="datum" type="kgpz:date" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Das Datum des Stücks, wie auf dem Titel
angegeben, falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="von" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Die erste Seitenzahl des Stücks, falls
bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="bis" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Die letzte Seitenzahl des Stücks, falls
bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- Kann von Stücke abgeleitet werden -->
<xsd:element name="beilage" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation> Optional: Die Anzahl der Beilagen des
Stücks. </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="von" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Die erste Seitenzahl der Beilage,
falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="bis" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Die letzte Seitenzahl der
Beilage, falls bekannt.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="nummer" type="xsd:positiveInteger" use="required"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="werk" type="kgpz:werkref">
<xsd:annotation>
<xsd:documentation>Optional: Verweis auf ein Werk, hiuer meist provinienz.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<!-- Vielleicht nötig -->
<xsd:element name="anmerkung" type="kgpz:text" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation> Optional: Anmerkungen zum Stück. Öffentlich. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="vermerk" type="kgpz:text" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation> Optional: Vermerk zum Stück. Intern. </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="uniqueNummer">
<xsd:annotation>
<xsd:documentation> Jedes Datum darf nur ein einziges Mal vorkommen. </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="kgpz:stueck" />
<xsd:field xpath="kgpz:datum/@when" />
</xsd:unique>
</xsd:element>
</xsd:schema>