Files
lenz-briefe/data/xsd/references.xsd
2025-02-05 22:19:51 +01:00

117 lines
4.0 KiB
XML

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://lenz-archiv.de"
xmlns="https://lenz-archiv.de"
xmlns:lenz="https://lenz-archiv.de"
elementFormDefault="qualified">
<xsd:include schemaLocation="common.xsd"></xsd:include>
<xsd:element name="opus">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="definitions">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="personDefs">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="personDef" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="index" type="xsd:integer" use="required" />
<xsd:attribute name="name" type="lenz:NonEmptyString" use="required" />
<xsd:attribute name="nachname" type="lenz:NonEmptyString" use="optional" />
<xsd:attribute name="vorname" type="lenz:NonEmptyString" use="optional" />
<xsd:attribute name="komm" type="lenz:NonEmptyString" use="optional" />
<xsd:attribute name="ref" type="xsd:anyURI" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="uniqueIndexPerson">
<xsd:annotation>
<xsd:documentation>Pflicht: jede Person hat eine eindeutige ID.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="lenz:personDef" />
<xsd:field xpath="@index" />
</xsd:unique>
<xsd:unique name="uniqueRefPerson">
<xsd:annotation>
<xsd:documentation>Pflicht: jede Person hat eine eindeutige GND-URL.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="lenz:personDef" />
<xsd:field xpath="@ref" />
</xsd:unique>
</xsd:element>
<xsd:element name="locationDefs">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="locationDef" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="index" type="xsd:integer" use="required" />
<xsd:attribute name="name" type="lenz:NonEmptyString" use="required" />
<xsd:attribute name="ref" type="xsd:anyURI" use="optional" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="uniqueIndexLocation">
<xsd:annotation>
<xsd:documentation>Pflicht: jeder Ort hat eine eindeutige ID.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="lenz:locationDef" />
<xsd:field xpath="@index" />
</xsd:unique>
<xsd:unique name="uniqueRefLocation">
<xsd:annotation>
<xsd:documentation>Pflicht: jeder Ort hat eine eindeutige Geonmaes-URL.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="lenz:locationDef" />
<xsd:field xpath="@ref" />
</xsd:unique>
</xsd:element>
<xsd:element name="appDefs">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="appDef" minOccurs="0"
maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="index" type="xsd:integer" use="required" />
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="category" type="lenz:NonEmptyString" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="uniqueIndexAppDef">
<xsd:annotation>
<xsd:documentation>Pflicht: jede AppDef hat eine eindeutige ID.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="lenz:appDef" />
<xsd:field xpath="@index" />
</xsd:unique>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>