Vorsicht vor Kuckuckseiern

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

Die Überschrift dieses Abschnitts sagt schon alles! Die Verwendung des xsi-Namensraums erzeugt eine Abhängigkeit zwischen den Instanzdokumenten und einer bestimmten Schema-Technologie, und diese Abhhängigkeit ist grundsätzlich fragwürdig. Eine der größten Stärken von XML ist die Entkopplung der in den Dokumenten verfügbaren Informationen von den Anwendungen, die diese Informationen herausholen und verarbeiten. Wenn wir einen Schema-Validierer als eine dieser Anwendungen betrachten, verletzt die Nutzung spezifischer W3C-XML-Schema-Konstruktionen diese Grundregel.

Ein weiterer Grund, warum die Nutzung dieser Features fragwürdig ist, liegt darin, daß wir gelernt haben, daß die Lebensdauer von Daten oder Informationen größer als die von Anwendungen ist. Wir können in vielen Fällen annehmen, daß die XML-Dokumente, die wir heute erzeugen, die Technologie von W3C XML Schema 1.0 überleben werden. Die Arbeitsgruppe fing mit dem Nachdenken über XML Schema 1.1 an, bevor 1.0 zur Recommendation wurde, und derartige Abhängigkeiten werden zu potentiellen Migrationsproblemen. XML 1.0 hat bereits zwei Generationen von Schema-Sprachen (DTD und W3C XML Schema 1.0) erlebt. Funktionen, die mit DTDs verknüpft waren, aber nicht in W3C XML Schema aufgenommen wurden (zum Beispiel externe geparste und ungeparste Entities), sind in Gefahr, in der allgemeinen Verwendung als veraltet zu gelten. Darüber hinaus gibt es weitere Schema-Technologien; die enge Integration zwischen Ihren Dokumenten und W3C XML Schema verschließt möglicherweise einige Türen, die Ihre Anwendung benötigen könnte.

Auf der anderen Seite sind diese Attribute in den Instanzdokumenten für nicht-schemafähige Anwendungen verfügbar, und man kann die Attribute xsi:type oder xsi:nil leicht mit einer einfachen XSLT-Transformation verarbeiten.

Das letzte, was zu diesen Attributen angemerkt werden sollte, ist, daß sie Attribute sind. Dies mag offensichtlich erscheinen, aber Attribute können nicht in Attribute aufgenommen werden. Das bedeutet, daß man ein Attribut nicht mit xsi:nil oder xsi:type näher bestimmen kann. Dies führt eine zusätzliche Unterscheidung zwischen Elementen und Attributen ein, die beim Entwurf von XML-Anwendungen möglicherweise beachtet werden muß.

   

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