xs:IDREF

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

Definition von Verweisen auf eindeutige Bezeichner

Abgeleitet von: xs:NCName

Urtyp: xs:string

Bekannte Untertypen: xs:IDREFS

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

Definition

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

Beschreibung

Der Datentyp xs:IDREF definiert Verweise auf Bezeichner, die mit dem Datentyp xs:ID definiert worden sind, und ahmt somit den Attributtyp IDREF der XML-DTDs nach, auch wenn er für Elemente einfachen Inhalts ebenso wie für Attribute benutzt werden kann.

Der lexikalische Raum von xs:IDREF besteht, genau wie der lexikalische Raum von xs:ID, aus den nicht-qualifizierten XML-Namen (xs:NCName).

Die Einschränkung, die dieser Datentyp über den Datentyp xs:NCName, von dem er abgeleitet ist, hinaus hat, ist, daß es zu den Werten aller Attribute und Elemente, die vom Datentyp xs:IDREF sind, stets einen xs:ID-Wert geben muß, der innerhalb desselben Dokuments definiert ist.

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 Schlüsselverweisen oder von solchen, die Whitespace enthalten.

W3C XML Schema bietet mit dem Element xs:keyref einen anderen Mechanismus, um Schlüsselverweisbedingungen 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