xs:element (innerhalb von xs:all)

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

Verweis auf eine globale Elementdeklaration oder lokale Definition (lokale Definitionen können nicht referenziert werden). Die Auftretenshäufigkeit kann nur 0 oder 1 sein, wenn xs:element innerhalb von xs:all verwendet wird.

<xs:element
    block = ( "#all" | list of ( "extension" | "restriction" | "substitution" ) )
    default = xs:string
    fixed = xs:string
    form = ( "qualified" | "unqualified" )
    id = xs:ID
    maxOccurs = ( "0" | "1" ) : "1"
    minOccurs = ( "0" | "1" ) : "1"
    name = xs:NCName
    nillable = xs:boolean : "false"
    ref = xs:QName
    type = xs:QName
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?, (xs:simpleType | xs:complexType)?, (xs:unique | xs:key | xs:keyref)*)
</xs:element>

Kann auftreten innerhalb von: xs:all (außerhalb einer Gruppe), xs:all (innerhalb einer Gruppe)

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 Element sein, oder es kann eine lokale Elementdefinition sein. Diese Optionen schließen sich gegenseitig aus.

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

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

Einschränkungen

Lokale Elementdefinitionen oder Verweise können nicht häufiger als einmal auftreten.

Standard- und fixierte Werte werden in Attributen definiert und können daher nur für Elemente einfachen Typs verwendet werden.

W3C XML Schema kann die sich gegenseitig ausschließenden Kombinationen der Attribute und Elemente von xs:element nicht ausdrücken, die sich wie folgt zusammenfassen lassen:

ref-Attribut xor name-Attribut, type-Attribut xor xs:simpleType-Element xor xs:complexType-Element

Beispiel

<xs:all>
    <xs:element name="first" type="string32" minOccurs="0"/>
    <xs:element name="middle" type="string32" minOccurs="0"/>
    <xs:element name="last" type="string32"/>
</xs:all>

Attribute

block
Steuert, ob ein Element Gegenstand einer Typ- oder einer Ersetzungsgruppen-Ersetzung sein kann. #all blockiert jede Form von Ersetzung, substitution blockiert jede Ersetzung durch Ersetzungsgruppen, und extension und restriction blockieren jede Ersetzung (sowohl durch xsi:type als auch durch Ersetzungsgruppen) durch Elemente oder Typen, die durch Erweiterung bzw. Einschränkung von dem Typ des Elements abgeleitet sind. Der Standardwert dieses Attributs wird durch das blockDefault-Attribut des übergeordneten xs:schema-Elements festgelegt.

default
Standardwert des Elements. Da sie in einem Attribut festgelegt werden, müssen Standardwerte einfache Inhalte sein. Standardwerte gelten nur für Elemente, die in dem Dokument auftreten und leer sind. Die Attribute fixed und default schließen sich gegenseitig aus.

fixed
Ein Element einfachen Inhalts kann mit Hilfe dieses Attributs auf einen bestimmten Wert fixiert werden. Dieser Wert wird auch als Standardwert verwendet; wenn das Element leer ist, wird er der Anwendung zur Verfügung gestellt. Die Attribute fixed und default schließen sich gegenseitig aus.

form
Legt fest, ob das Element in den Instanzdokumenten qualifiziert sein (d.h. zu einem Namensraum gehören) muß oder nicht. Der Standardwert dieses Attributs wird durch das elementFormDefault-Attribut des übergeordneten xs:schema-Elements festgelegt.

id
Element-ID laut W3C XML Schema.

maxOccurs
Maximale Auftretenshäufigkeit des Elements. Kann innerhalb eines xs:all-Kompositors nur die Werte 0 oder 1 annehmen.

minOccurs
Minimale Auftretenshäufigkeit des Elements. Kann innerhalb eines xs:all-Kompositors nur die Werte 0 oder 1 annehmen.

name
Name des Elements (schließt sich gegenseitig aus mit dem Attribut ref).

nillable
Wenn dieses Attribut auf true gesetzt ist, kann das Element mit Hilfe des Attributs xsi:nil in den Instanzdokumenten als nil deklariert werden.

ref
Referenz auf eine globale Elementdefinition (schließt sich gegenseitig aus mit den Attributen name, block und type sowie mit eingebetteten Typdefinitionen).

type
Einfacher oder komplexer Typ des Elements (schließt sich gegenseitig aus mit dem Attribut ref sowie mit eingebetteten Typdefinitionen).

   

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