home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

XML Schema

XML Schema erlauben weitergehende Validierung der XML Dokumente. So ist es möglich,

     

  • Datentypen zu spezifizieren und eigene Datentypen zu definieren
  • Die Länge von Strings festzulegen
  • Das minimale und maximale Auftreten von Elementen zu bestimmen

Ein XML Schema stellt selbst ein XML Dokument dar und hat folgenden Rumpf:

 

<?xml version = "1.0" encoding = "UTF-8"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
...
<xsd:schema>

 

Innerhalb können einfache und komplexe Elemente definiert werden.

Einfache Elementtypen

Die einfachen Elementtypen verwenden bereits bestehende Datentypen wieder. Beispiele:

 

<xsd:element name="hausnummer" type="xsd:positiveInteger"/>
<xsd:element name="vorname" type="xsd:token" minOccurs="1"
maxOccurs="unbounded>/>

 

Die Liste vordefinierter und abgeleiteter Datentypen beschreibt folgende Grafik (entnommen von www.jeckle.de)

 

Komplexe Datentypen

Komplexe Datentypen können eine Sequenz oder eine Auswahl einfacher Datentypen oder Referenzen auf bereits definierte Datentypen beinhalten. Beispiel:

 

<xsd:element name="Evaluierung">
  <xsd:complexType>
    <xs:sequence>
      <xs:element name="kommentar" type="xsd:token"
maxOccurs="unbounded"/>
      <xs:element ref="Dozent"/>
    </xs:sequence>
  </xs:complexType>
</xsd:element>

 

Hier wird auf ein anderes <xsd:element/> Dozent verwiesen.

Komplexe Datentypen können ebenso von simplen abgeleitet werden, indem sowohl der Datentyp des Elements als auch dessen Attribute definiert werden:

 

<xsd:element name="Dozent">
  <xsd:complexType>
    <xs:simpleContent>
      <xs:extension base="xsd:string">
<xs:attribute name="nummer" type="xs:byte" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xsd:element>

 

TODO Erweiterung durch restriction erläutern