XML-Schema

XML-Schema definiert eine Sprache zur Beschreibung von Struktur und Semantik eines XML-Dokumentes. Die dreiteilige Spezifikation wurde im März 2001 vom World Wide Web Consortium (W3C) als Empfehlung vorgestellt - die einzelnen Teile stehen jeweils unter dem u.g. Link zur Verfügung.


XML-Schematas benutzen XML-Dokumente

XML-Schemata bauen im Gegensatz zu Document Type Definition (DTD) selbst auf XML-Dokumenten auf, was deren Erstellung und Verarbeitung wesentlich erleichtert. Insbesondere die Einschränkungen von DTDs im Umgang nicht nur mit Textdokumenten sondern mit Datenformaten für strukturierte Daten jeder Art, führten zur Definition von XML-Schema. Das ist u.a. eine Anforderung, die insbesondere dann realisiert wird, sobald es sich um die Kommunikation von B2B oder B2C oder generell um die Kommunikation von Anwendungssystemen handelt. Ein XML-Schema bestimmt ebenso wie eine DTD sowohl das Vokabular als auch die Grammatik eines XML-Dokumentes; da es aber ein XML-Dokument ist, kann jederzeit seine Wohlgeformtheit und Gültigkeit überprüft werden.

Vor der endgültigen Spezifizierung des XML-Schemas durch das W3C hatten aus der IT-Industrie heraus bereits eigene Bestrebungen zur Nutzung von XML über die klassische Dokumentenverarbeitung hinaus in Form spezifischer Varianten wie XML-Data von Microsoft oder Schema for Object Oriented XML (SOX) von VeoSystems stattgefunden. Eine alternative Schemasprache ist Relax NG.

Die vom W3C veröffentlichte Empfehlung definiert drei unterschiedliche Teile der Spezifikation:

  • XML Schema Part 0 (Primer) gibt eine Einführung und fasst grundlegende Informationen zusammen.
  • XML Schema Part 1 (Structures) definiert die grundlegenden Strukturen eines XML-Schema-Dokumentes und detailliert alle wichtigen Elemente der Schemasprache.
  • XML Schema Part 2 (Datatypes) definiert die Datentypen für Schema-Dokumente.
Ein XML-Schema soll dieser Empfehlung folgend die nachfolgenden Anforderungen umsetzen:

  • ein XML-Dokument sein,
  • ausdrucksstärker als eine DTD sein,
  • selbstdokumentierend und lesbar sein,
  • internetfähig sein,
  • kompatibel zu anderen XML-Spezifikationen sein,
  • die automatische Analyse durch XML-Parser unterstützen sowie
  • Namensräume berücksichtigen.
Der Grundaufbau eines XML-Schemas beinhaltet als Wurzelelement das Elementschema und sieht wie folgt aus:

Grundelement des XML-Schemas

Grundelement des XML-Schemas

Dadurch wird auch der Namensraum festgelegt, in dem alle Elemente, Attribute und die vordefinierten Datentypen enthalten sind, die beim Entwurf eines Schemas verwendet werden können. Als Präfix des Namensraumes wird zumeist xs oder xsd verwendet. Ein sogenannter Zielnamensraum (target namespace) legt fest, in welchem Namensraum sich die vom Anwender deklarierten Elemente und Attribute befinden. Ein Schema wird immer in Form einer eigenen Datei vom Typ .xsd gespeichert und dem XML-Dokument wird durch eine entsprechend integrierte Deklaration das entsprechende XML-Schema zugeordnet.

XML-Schema als Anwendung

Ein XML-Schema definiert einen Satz von Komponenten zur Beschreibung der Struktur einer Klasse von XML-Dokumenten. Daher wird ein dem XML-Schema entsprechendes Dokument auch als eine sogenannte Instanz der durch das Schema fixierten Dokumentenklasse bezeichnet. Das Vokabular der Sprache XML-Schema ist selbst wieder eine XML-Anwendung - in diesem Fall eine abstrakte Beschreibung von inhaltlichen Strukturen. XML-Schema selbst stellt 44 vordefinierte einfache Datentypen bereit und unterstützt zusätzlich Mechanismen zur Definition benutzerdefinierter einfacher Datentypen. Deklarationen haben die Aufgabe, Elemente oder Attribute einen Namen und einen entsprechenden Datentyp - es gibt komplexe und einfache Datentypen - zuzuordnen. Im Gegensatz zu DTDs ist die Zuweisung von Datentypen zu Elementen und Attributen bei XML-Schema ein erheblicher Aspekt.

Ein XML-Schema kann für eine Klasse von XML-Dokumenten in verschiedenen sogenannten Modellierungsvarianten erstellt werden. Die entsprechenden XML-Dokumente werden dann valide zu allen Modellierungsvarianten sein, wobei zwischen den Varianten Russiche Matroschka, Salami-Design und Jalousie-Design unterschieden wird.

Ebenso wie für alle XML-Dokumente gilt auch für DTDs und XML-Schemata, dass diese mit einem einfachen Texteditor erstellt und bearbeitet werden können. Da dies jedoch recht wenig komfortabel und zeitaufwändig ist, existieren eine Reihe von Werkzeugen wie u.a. XML Authority oder XML Spy, die ergänzend auch eine grafische Darstellung der DTD- oder XML-Schema-Strukturen sowie interaktiv deren Modifikation anbieten. Zusätzlich wird natürlich die Korrektheit der Syntax fortlaufend geprüft. Dabei ist generell zu berücksichtigen, dass der Code eines XML-Schemas deutlich umfangreicher ist als der Code einer DTD.

http://www.w3.org/TR/xmlschema-0/

http://www.w3.org/TR/xmlschema-1/

http://www.w3.org/TR/xmlschema-2/

Informationen zum Artikel
Deutsch: XML-Schema
Englisch: XML schema
Veröffentlicht: 28.10.2013
Wörter: 669
Tags: #Web-Software
Links: Aspekt, Attribut, Autorität, B2B (business to business), B2C (business to consumer)