xs:selector

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

Definition des Pfads, der ein Element für eine Eindeutigkeitsbedingung auswählt.

<xs:selector
    id = xs:ID
    xpath = xs:token
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?)
</xs:selector>

Kann auftreten innerhalb von: xs:key, xs:keyref, xs:unique

Beschreibung

xs:selector wird verwendet, um das Element festzulegen, für das eine Eindeutigkeitsbedingung oder ein Verweis auf eine solche geprüft wird (es kann kein Attribut sein, da Attribute XML 1.0 zufolge bereits eindeutig sind). Es wird durch einen relativen XPath-Ausdruck identifiziert.

Die Bedingung wird geprüft, indem die Schleife über den XPath-Ausdruck durchlaufen wird, der relativ zum Wurzelelement der Bedingung interpretiert wird. Dieses dient als der Ort, von dem aus xs:field-XPath-Ausdrücke aufgelöst werden.

Einschränkungen

Das xpath-Attribut verwendet eine einfache Untermenge von XPath 1.0. Das Motiv der W3C XML Schema Working Group für diese Festlegung ist zum einen die Erleichterung der Implementierung von Schemaprozessoren und zum anderen, den Pfad so zu beschränken, daß er innerhalb des Geltungsbereichs des aktuellen Elements bleibt.

Diese Untermenge ist darauf beschränkt, nur die XPath-Achsen child, self und descendant-or-self in ihren abgekürzten Schreibweisen zu verwenden, ohne irgendeinen Test in einem der XPath-Ortungsschritte zuzulassen und ohne eine der XPath-Funktionen zu verwenden. Sie ist mit der für xs:field definierten Untermenge identisch, mit Ausnahme der Tatsache, daß Attribute bei xs:field erlaubt, bei xs:selector jedoch verboten sind.

Die in der W3C Recommendation angegebene formale erweiterte BNF (Backus-Naur-Form) lautet wie folgt:

Selector ::= Path ( ’|’ Path )* Path ::= (’.//’)? Step ( ’/’ Step )* Step ::= ’.’ | NameTest NameTest ::= QName | ’*’ | NCName ’:’ ’*’

Beispiel

<xs:element name="book" maxOccurs="unbounded">
    <xs:complexType>
        .../...
    </xs:complexType>
    <xs:unique name="book">
        <xs:selector xpath="book"/>
        .../...
    </xs:unique>
</xs:element>

Attribute

id
Element-ID laut W3C XML Schema.

xpath
Relativer XPath-Ausdruck, der ein Element identifiziert, für das die Bedingung gilt.

   

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