XML Schema Kompaktwissen
XML Schema wurde am 02.05.2001 verabschiedet. Die Definition findet sich
unter folgenden URLs:
Anforderungen
- Definition der Objekte und Regeln eines Vokabulars
- Gebrauch der XML Syntax für die Definition des Schemas
- Einführung von Datentypen
- Validierung eines Dokuments gegen mehrere Namensräume
Die folgende Datei sei eine XML Schema Datei mit dem Namen "meinSchema.xsd":
<?xml version="1.0"?>
<!-- Es folgt das Root-Element der Schema Datei (*.xsd) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- hier stehen die Definitionen der Elemente und Typen -->
</xsd:schema>
Die Datei wird folgendermaßen in das Root Element eines XML Dokumentes
eingebunden:
<?xml version="1.0"?>
<root
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="meinSchema.xsd"
>
</root>
Definition von atomaren Elementen
(Simple Types)
Elemente die keine Subelemente oder Attribute enthalten heißen atomare
Elemente.
Die allgemeine Form für die Definition eines einfachen Datentypen sieht
folgendermaßen aus:
<xsd:element name="Bezeichnung" type="xsd:Datentyp"/>
Im folgenden Beispiel wird ein einfaches Element namens "Wertung" erzeugt,
das die ganzen Zahlen von 0 bis 10 annehmen kann.
<xsd:simpleType name="Wertung">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="10"/>
</xsd:restriction>
</xsd:simpleType>
Definition von zusammengesetzten Elementen
(Complex Types)
Elemente die Subelemente oder Attribute enthalten heißen zusammengesetzte
Elemente.
Die Definition dieser Elemente erfolgt in zwei Schritten.
- Über die Typangabe wird auf die Definition eines Typs verwiesen.
- Der Typ wird durch eine eigene Definition spezifiziert.
<xsd:element name="aufnahmen" type="aufnahmenTyp">
Sequence
<xsd:complexType name="aufnahmenTyp">
<xsd:sequence>
<xsd:element name="aufnahme“ type="aufnahmeTyp“
minOccurs="0“
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
Kardinalitäten
- werden durch die Attibute minOccurs und maxOccurs
festgelegt.
- mögliche Werte sind alle natürlichen Zahlen und "unbounded" für
unbestimmt viele.
- Defaultwert ist jeweils 1.
Definition von Attributen
Attribute werden als Child des zugehörigen Elementtyps definiert.
<xsd:complexType name="Element_Typ">
<xsd:attribute name="Attributname" type="Attribut_Typ" use="required"/>
</xsd:complexType>
Die eigentliche Definition erfolgt dann über den Attribut Typ, analog zur
Definition eines Elementtyps.
Das Attribut "use" kann folgende Werte annehmen:
- required
- optional
- default (Wert)
- fixed (Wert)
- prohibitet
|