Erzeugung einfacher Datentypen

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

Bisher haben wir nur vordefinierte Datentypen verwendet. In diesem Abschnitt werden wir sehen, wie man neue einfache Typen erzeugt, indem man die verschiedenen Ableitungsmechanismen und Facetten der Ableitung durch Einschränkung nutzt.

W3C XML Schema definiert drei voneinander unabhängige und sich gegenseitig ergänzende Mechanismen, mit denen wir für unsere Zwecke angepaßte Datentypen erzeugen können, indem wir von bestehenden Datentypen ausgehen. Diese neuen Datentypen, die auf existierenden vordefinierten Datentypen oder auf anderen selbstdefinierten Datentypen aufbauen, werden »Ableitung« genannt.

Die drei Ableitungsmethoden heißen Ableitung durch Einschränkung (hierbei werden einem Datentyp zusätzliche Beschränkungen hinzugefügt, ohne die ursprüngliche Semantik oder Bedeutung zu verändern), Ableitung durch Auflistung (hierbei werden neue Datentypen als Listen von Werten definiert, die einen bestimmten Datentyp haben; das Ergebnis hat die Semantik eines Aufzählungs-Datentyps), und Ableitung durch Vereinigung (dabei werden neue Datentypen so definiert, daß sie Werte von einer Menge anderer Datentypen aufnehmen, wodurch der überwiegende Teil der Semantik verlorengeht).

Genau wie bei xs:complexType-Definitionen (die wir beim Entwurf im Stil der Puppe in der Puppe gesehen haben) können auch xs:simpleType-Definitionen entweder benannt oder anonym sein. Dieser Ähnlichkeit zum Trotz sind einfache und komplexe Typen sehr unterschiedlich. Ein einfacher Typ stellt eine Einschränkung für den Wert eines Elements oder eines Attributs dar (d.h. eine Beschränkung für den Inhalt einer Dokumentenmenge), während ein komplexer Typ eine Definition eines Inhaltsmodells ist (d.h. eine Einschränkung für die Textauszeichnungen). Darum unterscheiden sich die Ableitungsmethoden für einfache Typen stark von denen für komplexe Typen, auch wenn W3C XML Schema denselben Elementnamen (xs:restriction) für beide gleichermaßen verwendet. Daraus entsteht immer wieder Verwirrung.

Diese Ableitungsmethoden sind flexibel und mächtig. Daß W3C XML Schema viele verschiedene primäre Datentypen benötigt, kann jedoch als Beweis dafür angesehen werden, daß sie nicht ausreichen, einen neuen primären Datentyp zu erzeugen. Der Grund dafür ist, daß die Ableitungsmethoden nur auf dem Werteraum oder aber auf dem lexikalischen Raum operieren, daß sie jedoch nicht die Beziehungen zwischen diesen beiden Räumen verändern und daß sie auch keine neuen Werte- oder lexikalischen Räume erzeugen können. Dieses Thema ist in der Arbeitsgruppe für W3C XML Schema diskutiert worden, die jedoch keine Einigung darüber erzielt hat, wie man ein abstraktes Datentyp-System definieren sollte, das die Definition unterschiedlicher lexikalischer Darstellungen ermöglichen würde. Die offensichtlichste Konsequenz dieser Entscheidung besteht darin, daß ungeachtet des Einspruchs der mit der Internationalisierung beschäftigten W3C I18N Working Group W3C XML Schema die Definition lokalisierter Dezimal- oder Datums-Datentypen nicht zuläßt.

   

   

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