Instanzbezogene Konzepte
XML Schema sieht vor, dass schemabezogene Attribute aus dem speziellen Namensraum www.w3.org/2001/XMLSchema-instance in jeglichen XML-Dokumenten stehen können. Für diesen Namensraum wird hier das Präfix xsi: benutzt. Mit xsi:type haben wir ein solches Attribut bereits kennen gelernt. Es steuert die Validierung, indem es angibt, nach welcher Typdefinition ein Element in einem XML-Dokument validiert werden soll.
Aus Datenbanksystemen kennt man das Konzept der Nullwerte, das sich so in XML Schema nicht wiederfindet. Es gibt jedoch ein Konzept, das diesem ähnelt: Wenn einer Elementdeklaration nillable="true" hinzugefügt wurde, wird ein Element, das keinen Inhalt hat, als gültig akzeptiert, wenn es das Attribut xsi:nil="true" enthält, auch wenn der Typ des Elementes eigentlich keinen leeren Wert erlaubt. Mit diesem Konzept in XML Schema ist keine Verarbeitungssemantik (wie etwa dreiwertige Logik) verbunden. Eine solche Semantik wird erst durch die Verarbeitungslogik hinzugefügt.
XML Schema definiert nicht, wie das Schema zu einem XML-Dokument gefunden wird. Eine Möglichkeit, aus dem Dokument das entsprechende Schema zu identifizieren, stellt das Attribut xsi:schemaLocation dar. Als Wert enthält es Paare aus einem Namensraum und einer Referenz auf ein zu diesem Namensraum gehöriges Schema. Über xsi:noNamespaceSchemaLocation kann ein Schema referenziert werden, das keinen Namensraum definiert.
Wird ein XML-Dokument gegen ein XML Schema oder eine DTD validiert, dann kommen möglicherweise Informationen zum Dokument hinzu, unter anderem Attributwerte für Attribute mit Vorbelegungswerten, die im XML-Dokument nicht explizit angegeben sind, aber auch Typinformation. Die entstehende Information nennt man "post schema validation infoset" (PSVI).
Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)
<< zurück | vor >> |