mirror of
https://github.com/Theodor-Springmann-Stiftung/lenz-briefe.git
synced 2025-10-28 16:45:31 +00:00
117 lines
4.0 KiB
XML
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>
|