Erste Erkenntnisse

(Auszug aus "XML Schema" von Eric van der Vlist)

Selbst in diesem sehr einfachen Beispiel-Schema haben wir eine Menge über das gelernt, was W3C XML Schema zu bieten hat.

W3C XML Schema ist modular

In diesem Beispiel haben wir einfache Komponenten definiert (Elemente und Attribute in diesem Fall, aber wir werden in den nächsten Kapiteln sehen, wie man andere Arten von Komponenten definiert), die wir zum Aufbau komlexerer Komponenten verwendet haben. Dies ist eines der wesentlichen Prinzipien, die die Schöpfer von W3C XML Schema geleitet haben. Diese Schöpfer haben viele Begriffe aus dem objektorientierten Entwurf ausgeborgt, um komplexe Komponenten zu entwickeln.

Wenn wir eine Parallele zwischen Datentypen und Klassen ziehen, können die Elemente und Attribute mit Objekten verglichen werden. Jede der Komponentendefinitionen, die wir in unser erstes Schema aufgenommen haben, ähnelt einem Objekt. Wenn man sich auf eine dieser Komponenten bezieht, um ein neues Element zu konstruieren, dann ähnelt das dem Erzeugen eines neuen Objekts, indem man die bereits erzeugte Komponente klont.

Auf den nächsten Seiten werden wir sehen, wie wir die Komponenten auch »an Ort und Stelle« (wo sie gebraucht werden) erzeugen können und wie Datentypen erzeugt werden, aus denen wir auf die gleiche Weise Elemente und Attribute gewinnen können, wie wir eine Klasse instantiieren, um ein Objekt zu erzeugen.

W3C XML Schema handelt sowohl von Strukturen als auch von Datentypisierung

Beachten Sie auch, daß W3C XML Schema in diesem ersten Beispiel zwei verschiedene Ebenen von Validierung verfolgt: Wir haben sowohl Regeln für die Struktur des Dokuments als auch Regeln über den Inhalt der Blattknoten des Dokuments definiert. Das W3C unterscheidet klar zwischen diesen beiden Ebenen, indem es die Empfehlung in zwei Teilen (Teil 1: Strukturen, Teil 2: Datentypen) veröffentlicht hat, die relativ unabhängig voneinander sind.

Auch ist der Unterschied groß zwischen einfachen Typen, bei denen es um Datentypisierung und Beschränkungen für den Inhalt von Blattknoten in der Baumstruktur eines XML-Dokuments geht, und komplexen Typen, bei denen es darum geht, die Struktur eines Dokuments festzulegen.

Flacher Entwurf, globale Komponenten

Beachten Sie schließlich noch die Flachheit des Schemas: Jede Komponente (Element oder Attribut) ist direkt unterhalb des Dokumentelements xs:schema definiert.

Komponenten, die direkt unterhalb des Dokumentelements xs:schema definiert sind, werden »globale« Komponenten genannt. Sie haben einige bemerkenswerte Eigenschaften: Sie können überall in dem Schema referenziert werden und auch in jedem anderen Schema, das dieses Schema einbindet oder importiert (wir werden in den nächsten Kapiteln sehen, wie man Schemas importiert oder einbindet), und alle globalen Elemente können als Wurzelelemente eines Dokuments verwendet werden.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML Schema bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2003 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML Schema" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de