« Übersicht: Schema

Erste Definition#

../../_images/mosaik003-potsdam.jpg

Lernziel#

Entwickeln Sie nun Ihre erste Schema-Definition.

Handlungsanweisungen#

Aufgaben:
  1. 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>

  2. 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.