mirror of
https://github.com/Theodor-Springmann-Stiftung/KGPZ.git
synced 2025-10-29 09:05:30 +00:00
Entwurf 1 -- Beiträge fehlen
This commit is contained in:
14
XSD/KGPZ.xsd
Normal file
14
XSD/KGPZ.xsd
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xsd:include schemaLocation="akteure.xsd" />
|
||||
<xsd:include schemaLocation="orte.xsd" />
|
||||
<xsd:include schemaLocation="kategorien.xsd" />
|
||||
<xsd:include schemaLocation="werke.xsd" />
|
||||
<xsd:include schemaLocation="stuecke.xsd" />
|
||||
<xsd:include schemaLocation="beitraege.xsd" />
|
||||
</xsd:schema>
|
||||
37
XSD/akteure.xsd
Normal file
37
XSD/akteure.xsd
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xsd:include schemaLocation="common.xsd" />
|
||||
|
||||
<xsd:element name="akteure">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="akteur" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="name" type="NonEmptyString" nillable="false" maxOccurs="unbounded" />
|
||||
<xsd:element name="sortiername" minOccurs="1" maxOccurs="1" type="kgpz:NonEmptyString" nillable="false" />
|
||||
<xsd:element name="lebensdaten" minOccurs="0" maxOccurs="1" type="kgpz:NonEmptyString" />
|
||||
<!-- TODO: URI FOR GND -->
|
||||
<xsd:element name="gnd" minOccurs="0" maxOccurs="1" type="xsd:anyURI" nillable="false" />
|
||||
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:unique name="uniqueIndexAkteur">
|
||||
<xsd:selector xpath="kgpz:akteur" />
|
||||
<xsd:field xpath="@id" />
|
||||
</xsd:unique>
|
||||
<xsd:unique name="uniqueGND">
|
||||
<xsd:selector xpath="kgpz:akteur" />
|
||||
<xsd:field xpath="kgpz:gnd" />
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
11
XSD/beitraege.xsd
Normal file
11
XSD/beitraege.xsd
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xsd:element name="beitraege" type="beitraege" />
|
||||
|
||||
<xsd:complexType name="beitraege"></xsd:complexType>
|
||||
</xsd:schema>
|
||||
20
XSD/common.xsd
Normal file
20
XSD/common.xsd
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
<xsd:simpleType name="NonEmptyString">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:minLength value="1" />
|
||||
<xsd:pattern value=".*[^\s].*" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:simpleType name="Year">
|
||||
<xsd:restriction base="xsd:unsignedInt">
|
||||
<xsd:minInclusive value="0"/>
|
||||
<xsd:maxInclusive value="2024"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:schema>
|
||||
29
XSD/kategorien.xsd
Normal file
29
XSD/kategorien.xsd
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xsd:include schemaLocation="common.xsd"/>
|
||||
|
||||
<xsd:element name="kategorien">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="kategorie" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="name" type="NonEmptyString" minOccurs="1" maxOccurs="1" nillable="false" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="index" type="xsd:integer" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:unique name="uniqueIndexKategorien">
|
||||
<xsd:selector xpath="kgpz:kategorie" />
|
||||
<xsd:field xpath="@index" />
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:schema>
|
||||
36
XSD/orte.xsd
Normal file
36
XSD/orte.xsd
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xsd:include schemaLocation="common.xsd" />
|
||||
|
||||
<xsd:element name="orte">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ort" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="name" type="kgpz:NonEmptyString" minOccurs="1" maxOccurs="unbounded" nillable="false" />
|
||||
<!-- TODO: geonames URI regex -->
|
||||
<xsd:element name="geonames" type="xsd:anyURI" minOccurs="0" maxOccurs="1" nillable="false" />
|
||||
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:unique name="uniqueIndexOrte">
|
||||
<xsd:selector xpath="kgpz:ort" />
|
||||
<xsd:field xpath="@id" />
|
||||
</xsd:unique>
|
||||
<xsd:unique name="uniqueGeonames">
|
||||
<xsd:selector xpath="kgpz:ort" />
|
||||
<xsd:field xpath="kgpz:geonames" />
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:schema>
|
||||
39
XSD/stuecke.xsd
Normal file
39
XSD/stuecke.xsd
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.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>
|
||||
<!-- Lässt sich aus Nummer + Jahr berechnen. -->
|
||||
<xsd:element name="datum" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="false" />
|
||||
|
||||
<!-- Von + bis lässt sich aus Nummer berechnen (n-1) * 4 + 1 bzw. (n-1) * 4 + 1 -->
|
||||
<xsd:element name="von" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1"/>
|
||||
<xsd:element name="bis" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1" />
|
||||
|
||||
<!-- Kann von Stücke abgeleitet werden -->
|
||||
<xsd:element name="beilagen" type="xsd:nonNegativeInteger" default="0" minOccurs="0" maxOccurs="1"/>
|
||||
|
||||
<!-- Vielleicht nötig -->
|
||||
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="nummer" type="xsd:integer" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:unique name="uniqueNummer">
|
||||
<xsd:selector xpath="stueck" />
|
||||
<xsd:field xpath="@nummer" />
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
45
XSD/werke.xsd
Normal file
45
XSD/werke.xsd
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="https://www.kgpz.de"
|
||||
xmlns="https://www.kgpz.de"
|
||||
xmlns:kgpz="https://www.kgpz.de"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xsd:include schemaLocation="common.xsd" />
|
||||
|
||||
<xsd:element name="werke">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="werk" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:choice>
|
||||
<xsd:element name="daten" type="kgpz:citation" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="zitation" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="anmerkung" type="kgpz:NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="id" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:unique name="uniqueId">
|
||||
<xsd:selector xpath="kgpz:werk" />
|
||||
<xsd:field xpath="@id" />
|
||||
</xsd:unique>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="citation">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="autorschaft" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="herausgabe" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="druck" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="verlag" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="vertrieb" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xsd:element name="ausgabe" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="titel" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="titelannotation" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="jahr" type="NonEmptyString" minOccurs="0" maxOccurs="1" />
|
||||
<xsd:element name="ort" type="NonEmptyString" minOccurs="0" maxOccurs="unbounded" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
</xsd:schema>
|
||||
Reference in New Issue
Block a user