xs:attribute (globale Definition)

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

Globale Attributdefinition, die innerhalb desselben Schemas oder durch andere Schemas referenziert werden kann.

<xs:attribute
    default = xs:string
    fixed = xs:string
    id = xs:ID
    name = xs:NCName
    type = xs:QName
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?, xs:simpleType?)
</xs:attribute>

Kann auftreten innerhalb von: xs:schema

Beschreibung

Alle Attribute, die auf der obersten Ebene eines Schema (d.h. mit einem xs:attribute, das unmittelbar unterhalb des xs:schema-Dokumentenelements steht) definiert sind, werden als global definiert angesehen.

Global definierte Attribute haben einen globalen Gültigkeitsbereich: Auf sie kann mit ihrem qualifizierten Namen überall in dem Schema verwiesen werden und außerdem auch in jedem Schema, das dieses Schema importiert oder einbindet.

Attribute werden über ihren qualifizierten Namen identifiziert, in dem Attribut name wird jedoch der lokale Name erwartet.

Die Definition geschieht, indem man dem Element einen einfachen Datentyp zuweist. Diese Zuweisung kann entweder durch Verweis geschehen, indem mittels eines type-Attributs auf einen einfachen Datentyp verwiesen wird, der über seinen qualifizierten Namen angegeben wird, oder »inline«, indem die Definition des einfachen Typs (Element xs:simpleType) in das Element xs:attribute eingebettet wird.

Einschränkungen

Wenn ein Ziel-Namensraum definiert ist, müssen globale Attribute als qualifiziert definiert werden, d.h., sie müssen in den Instanzdokumenten ein Präfix tragen. Da die meisten XML-Vokabulare Attribute ohne Präfix verwenden, außer wenn es sich um »Fremdattribute« handelt, die in Elementen aus anderen Namensräumen stehen, bedeutet dies, das globale Attribute selten verwendet werden, wenn ein Ziel-Namensraum definiert ist. Um diese Einschränkung zu umgehen, können Attributgruppen (xs:attributeGroup) verwendet werden, um Definitionen unqualifizierter Attribute einzubetten, die in mehrere Definitionen komplexer Typen eingebettet werden müssen.

Die Identifikation globaler Attribute durch ihren qualifizierten Namen macht es unmöglich, mehrere Attribute des gleichen qualifizierten Namens global zu definieren. Wenn ein Schema mehrere Definitionen von Attributen einbinden muß, die denselben qualifizierten Namen (und unterschiedliche Datentypen) haben, müssen alle Definitionen (außer einer) lokal deklariert werden. In diesem Fall ist es möglich, einfache Typen oder Attributgruppen anstelle globaler Attribute zu verwenden, um wiederverwendbare Inhaltsmodelle zu definieren.

Alle global definierten Attribute müssen qualifiziert werden, wenn für das Schema ein Ziel-Namensraum definiert ist – sie müssen alle zum Ziel-Namensraum gehören. Ist hingegen kein Ziel-Namensraum definiert, müssen alle Attribute, die global oder lokal definiert sind, unqualifiziert sein.

Beispiel

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:attribute name="id" type="xs:ID"/>
    <xs:attribute name="available" type="xs:boolean"/>
    <xs:attribute name="lang" type="xs:language"/>
    .../...
</xs:schema>

Attribute

default
Standardwert. Wenn vorhanden, fügt der Schema-Prozessor das Attribut hinzu, sofern es im Instanzdokument fehlt, und gibt ihm diesen Wert. Die Attribute default und fixed schließen sich gegenseitig aus.

fixed
Wenn vorhanden, ist der Wert des Attributs fixiert und muß gleich dem hier angegebenen Wert sein. Die Attribute default und fixed schließen sich gegenseitig aus.

id
Element-ID laut W3C XML Schema.

name
Lokaler Name des Attributs (ohne Namensraum-Präfix).

type
Qualifizierter Name eines einfachen Typs für das Attribut (muß weggelassen werden, wenn die Definition eines einfachen Typs eingebettet wird).

   

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