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>

   

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