xs:ID

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

Definition eines eindeutigen Bezeichners

Abgeleitet von: xs:NCName

Urtyp: xs:string

Bekannte Untertypen: keine

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

Definition

<xs:simpleType name="ID" id="ID">
    <xs:restriction base="xs:NCName"/>
</xs:simpleType>

Beschreibung

Der Zweck des Datentyps xs:ID besteht darin, eindeutige Bezeichner zu definieren, die innerhalb des Dokuments global gelten und den in XML-DTDs verfügbaren ID-Attributtyp nachahmen.

Im Gegensatz zu ihren DTD-Gegenstücken können die ID-Datentypen von W3C XML Schema nicht nur für die Definition von Attributen, sondern auch für einfache Elementinhalte verwendet werden.

Sowohl für Attribute als auch für einfache Elementinhalte ist der lexikalische Bereich dieser Datentypen der lexikalische Bereich nicht-qualifizierter XML-Namen (xs:NCName).

Bezeichner, die mit diesem Datentyp definiert sind, gelten global in einem Dokument und bieten eine Methode zur eindeutigen Identifizierung des sie enthaltenden Elements, unabhängig davon, was für einen Typ oder Namen es hat.

Die Einschränkung, die dieser Datentyp über den Datentyp xs:NCName, von dem er abgeleitet ist, hinaus hat, ist, daß die Werte aller Attribute und Elemente, die vom Datentyp xs:ID sind, eindeutig sein müssen.

Einschränkungen

Anwendungen, die ein gewisses Maß an Kompatibilität mit DTDs beibehalten müssen, sollten diesen Datentyp nicht für Elemente verwenden, sondern ihn für Attribute reservieren.

Der lexikalische Bereich (xs:NCName) dieses Datentyps erlaubt nicht die Definition von numerischen Bezeichnern oder von solchen, die Whitespace enthalten.

W3C XML Schema bietet mit den Elementen xs:unique und xs:key einen anderen Mechanismus, um eindeutige bzw. Schlüsselbedingungen zu definieren, wenn mehr Flexibilität benötigt wird.

Beispiel

<xs:element name="book">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="isbn" type="xs:int"/>
            <xs:element name="title" type="xs:string"/>
            <xs:element name="author-ref">
                <xs:complexType>
                    <xs:attribute name="ref" type="xs:IDREF" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="character-refs" type="xs:IDREFS"/>
        </xs:sequence>
        <xs:attribute name="identifier" type="xs:ID" use="required"/>
    </xs:complexType>
</xs:element>

   

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