Namensräume und XPath-Ausdrücke
(Auszug aus "XML Schema" von Eric van der Vlist)
Es ist an der Zeit, sich daran zu erinnern, daß Default-Namensräume nicht für XPath-Ausdrücke gelten und daß ein Präfix für jeden Namensraum, der in den XPath-Ausdrücken der Deklarationen von xs:unique, xs:key und xs:keyref verwendet wird, definiert werden muß.
Eine Präfix-Deklaration ist daher notwendig, um Ausdrücke zu schreiben, die qualifizierte Elemente und Attribute referenzieren, selbst wenn der Ziel-Namensraum als Default-Namensraum definiert ist. Es ist auch wichtig zu bemerken, daß das Attribut refer von xs:keyref ein QName ist, der ein Präfix tragen muß. Ein xs:key/xs:keyref auf die Autoren in unserem vorigen Beispiel könnte dann so aussehen:
<xs:schema targetNamespace="http://dyomedea.com/ns/library" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:lib="http://dyomedea.com/ns/library" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="library">
<xs:complexType>
<xs:sequence>
<xs:element name="book" type="lib:bookType" maxOccurs="unbounded"/>
<xs:element name="author" type="lib:authorType" maxOccurs="unbounded"/>
<xs:element name="characters" type="lib:characterType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:key name="author">
<xs:selector xpath="lib:author"/>
<xs:field xpath="@id"/>
</xs:key>
<xs:keyref name="keyref" refer="lib:author">
<xs:selector xpath="lib:book/lib:author-ref"/>
<xs:field xpath="@ref"/>
</xs:keyref>
</xs:element>
</xs:schema>
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