xs:IDREFS

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

Definition einer Liste von Verweisen auf eindeutige Bezeichner

Abgeleitet von: xs:IDREF

Urtyp: keine

Bekannte Untertypen: keine

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

Definition

<xs:simpleType name="IDREFS" id="IDREFS">
    <xs:restriction>
        <xs:simpleType>
            <xs:list>
                <xs:simpleType>
                    <xs:restriction base="xs:IDREF"/>
                </xs:simpleType>
            </xs:list>
        </xs:simpleType>
        <xs:minLength value="1"/>
    </xs:restriction>
</xs:simpleType>

Beschreibung

xs:IDREFS ist als Liste von xs:IDREF abgeleitet und stellt daher eine Whitespace-getrennte Liste von Verweisen auf Bezeichner dar, die mit dem Datentyp xs:ID definiert worden sind.

Der lexikalische Raum von xs:IDREFS ist der lexikalische Raum einer Liste von Werten des Typs xs:NCName, die mindestens ein Element enthält (xs:IDREFS kann keine leere Liste angeben).

xs:IDREFS ahmt den Attributtyp xs:IDREFS der XML-DTDs nach, auch wenn er für Elemente einfachen Inhalts ebenso wie für Attribute benutzt werden kann.

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 (Listen von xs:NCName) dieses Datentyps erlaubt nicht die Definition von Listen von numerischen Schlüsselverweisen oder von solchen, die Whitespace enthalten.

Auch wenn W3C XML Schema mit den Elementen xs:unique, xs:key und xs:keyref einen anderen Mechanismus bietet, um Bedingungen für Eindeutigkeit, Schlüssel und Schlüsselverweise zu definieren, bietet dieser Mechanismus keine Alternative zu Listen von Schlüsselverweisen (ähnlich wie xs:IDREFS), 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