xs:QName

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

Namensräume in qualifizierten Namen nach XML 1.0

Abgeleitet von: xs:anySimpleType

Urtyp: xs:QName

Bekannte Untertypen: keine

Facetten: xs:enumeration, xs:length, xs:maxLength, xs:minLength, xs:pattern, xs:whiteSpace

Definition

<xs:simpleType name="QName" id="QName">
    <xs:restriction base="xs:anySimpleType">
        <xs:whiteSpace value="collapse" fixed="true"/>
    </xs:restriction>
</xs:simpleType>

Beschreibung

Der lexikalische Raum von xs:QName sind die qualifizierten Namen laut »Namensräume in XML«, d.h. ein lokaler Name (der ein xs:NCName ist) mit einem optionalen Präfix (der seinerseits ein xs:NCName ist), getrennt durch einen Doppelpunkt (»:«), wobei das Präfix im Bereich des Elements, das den Wert bei sich trägt, als Namensraum deklariert ist. Der Werteraum umfaßt die Paare aus (Namensraum-URI, lokaler Name), wobei der »Namensraum-URI« der URI ist, der in der Namensraum-Deklaration mit dem Präfix verbunden worden ist.

Diese Lösung des lexikalischen Raums vom Werteraum macht einen großen Unterschied aus, wenn Facetten wie xs:pattern (diese Facette operiert nur auf dem lexikalischen Raum und gibt daher eine Bedingung für das Namensraum-Präfix an) und xs:enumeration (diese Facette operiert auf dem Werteraum und gibt daher eine Bedingung für den Namensraum-URI an) verwendet werden.

Einschränkungen

Man kann kein Muster auf den Namensraum-URI anwenden.

Die Verwendung von QNames in Elementen und Attributen ist Gegenstand von Kontroversen, da sie eine Abhängigkeit zwischen dem Inhalt des Dokuments und seinen Auszeichnungen erzeugt. Die offizielle Position des W3C rät jedoch nicht von dieser Praxis ab.

Beispiel

W3C XML Schema hat uns selbst bereits einige Beispiele von QNames gegeben. Als wir <xs:attribute name="lang" type="xs:language"/> schrieben, war das Attribut type ein xs:QName, und sein Wert war das Tupel {"http://www.w3.org/2001/XMLSchema", "language"}, weil der URI "http://www.w3.org/2001/XMLSchema" dem Präfix xs: zugewiesen worden war. Hätte es keine Namensraum-Deklaration für dieses Präfix gegeben, wäre das type-Attribut als ungültig betrachtet worden.

   

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