xs:attribute (Verweis oder lokale Definition)

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

Verweis auf eine globale Attributdefinition oder aber eine lokale Definition (lokale Definitionen können nicht referenziert werden).

<xs:attribute
    default = xs:string
    fixed = xs:string
    form = ( "qualified" | "unqualified" )
    id = xs:ID
    name = xs:NCName
    ref = xs:QName
    type = xs:QName
    use = ( "prohibited" | "optional" | "required" ) : "optional"
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: ((xs:annotation?), (xs:simpleType?))
</xs:attribute>

Kann auftreten innerhalb von: xs:attributeGroup (globale Definition), xs:complexType (lokale Definition), xs:complexType (globale Definition), xs:extension (komplexer Inhalt), xs:extension (einfacher Inhalt), xs:restriction (komplexer Inhalt), xs:restriction (einfacher Inhalt)

Beschreibung

Dieses Element dient zwei unterschiedlichen Zwecken und hat zwei verschiedene Inhaltsmodelle für diese beiden Zwecke: Es kann entweder ein Verweis auf ein global definiertes Attribut sein, oder es kann eine lokale Attributdefinition sein. Diese Optionen schließen sich gegenseitig aus.

Bei der Verwendung als Verweis auf ein Attribut muß das Attribut ref den qualifizierten Namen des Attributs (einschließlich seines Namensraum-Präfixes) enthalten.

Bei der Verwendung als lokale Definition geschieht diese dadurch, daß dem Attribut ein einfacher Datentyp zugewiesen wird. Diese Zuweisung kann entweder durch Verweis mit Hilfe des Attributs type, das durch seinen qualifizierten Namen auf einen einfachen Datentyp verweist, geschehen; oder sie kann inline geschehen, indem die Definition des einfachen Typs (Element xs:simpleType) in das Element xs:attribute eingebettet wird.

Einschränkungen

Auf lokal definierte Attribute kann nicht verwiesen werden.

Beispiel

<xs:complexType>
    <xs:simpleContent>
        <xs:extension base="xs:string">
            <xs:attribute ref="lang"/>
        </xs:extension>
    </xs:simpleContent>
</xs:complexType>
.../...
<xs:simpleContent>
    <xs:extension base="xs:string">
        <xs:attribute name="lang" type="xs:language"/>
    </xs:extension>
</xs:simpleContent>

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.

form
Gibt an, ob das Attribut qualifiziert ist (d.h., es muß im Instanzdokument ein Namensraum-Präfix haben) oder nicht. Der Standardwert für dieses Attribut wird mit dem Attribut attributeFormDefault des xs:schema-Dokumentenelements angegeben (nur für lokale Definition).

id
Element-ID laut W3C XML Schema.

name
Lokaler Name (ohne Namensraum-Präfix) – nur für lokale Definition.

ref
Qualifizierter Name eines global definierten Attributs – nur für Verweis.

type
Qualifizierter Name eines einfachen Datentyps – nur für Definition.

use
Mögliche Verwendung des Attributs. Die Markierung eines Attributs als »prohibited« ist nützlich, wenn man bei Ableitungen durch Einschränkung das jeweilige Atribut ausschließen will.

   

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