Erste Definition#
Lernziel#
Entwickeln Sie nun Ihre erste Schema-Definition.
Handlungsanweisungen#
- Aufgaben:
Entwickeln Sie bitte für folgende XML-Datei eine Schema-Datei:
- ::
- <?xml version=“1.0“ encoding=“ISO-8859-1“?>
- <reise>
<veranstalter>Fahr-Away</veranstalter> <ziel>Japan</ziel> <beginn>2007-02-09</beginn> <ende>2007-02-20</ende> <preis>1020.99</preis>
</reise>
Testen Sie die XML-Datei gegen die Schema-Datei. Ist sie valide? Prüfen Sie die Schema-Datei durch bewusste Falsch-Eingaben (z.B. als Preis eine Zeichenkette eingeben).
Die Schema-Datei#
Die Dateiendung für Schema-Dateien ist: xsd
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 <xs:element name="artikel">
4 <xs:complexType>
5 <xs:sequence>
6 <xs:element name="titel" type="xs:string"/>
7 <xs:element name="autor" type="xs:string"/>
8 <xs:element name="inhalt" type="xs:string"/>
9 </xs:sequence>
10 </xs:complexType>
11 </xs:element>
12</xs:schema>
Artikel ist ein komplexer Typ – xs:complexType. Dieser enthält eine Sequenz möglicher Kindelemente (Zeilen 6-8). Entscheidend für die Kindelemente ist der verwendete Datentyp. Es sind fünf vordefinierte Standard-Datentypen vorhanden:
Datentyp |
Anmerkung |
---|---|
xs:string |
Für normale Zeichenketten, also Texte |
xs:integer |
Für Ganzzahlen wie 1234, keine Fließkommazahlen. |
xs:decimal |
Datentyp für Dezimalzahlen, also Fließkommazahlen, wie 0.123 |
xs:boolean |
Ein Boolscher Wert, d.h. es gibt nur „wahr“ oder „falsch“ bzw. „0“ oder „1“. |
xs:date |
Ein Datum im Format Jahr-Monat-Tag |
Die XML-Datei#
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<artikel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:noNamespaceSchemaLocation="artikel.xsd">
4 <titel>Der Titel</titel>
5 <autor>Heinz Becker</autor>
6 <inhalt>Hier irgendein Inhalt.</inhalt>
7</artikel>
Die Schema-Datei wird über die Zeile 3 angesprochen und mit der XML-Datei verbunden.