<?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" type="xsd:positiveInteger" minOccurs="0"
                                maxOccurs="1">
                                <xsd:annotation>
                                    <xsd:documentation>Die Nummer des Stücks, falls bekannt.</xsd:documentation>
                                </xsd:annotation>
                            </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="beilagen" type="xsd:nonNegativeInteger" default="0"
                                minOccurs="0" maxOccurs="1">
                                <xsd:annotation>
                                    <xsd:documentation> Optional: Die Anzahl der Beilagen des
                                        Stücks. </xsd:documentation>
                                </xsd:annotation>
                            </xsd:element>

                            <!-- 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>