xs:all (außerhalb einer Gruppe)

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

Kompositor zur Beschreibung einer ungeordneten Gruppe von Elementen.

<xs:all
    id = xs:ID
    maxOccurs = "1" : "1"
    minOccurs = ( "0" | "1" ) : "1"
    {beliebige Attribute mit einem Nicht-Schema-Namensraum}
    >
    Content: (xs:annotation?, xs:element*)
</xs:all>

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

Beschreibung

xs:all wird zur Beschreibung einer ungeordneten Gruppe von Elementen verwendet, die null- oder einmal auftreten darf.

Einschränkungen

xs:all ist der einzige Kompositor, der nicht als Partikel benutzt werden darf und der für sich allein verwendet werden muß, um ein vollständiges Inhaltsmodell zu beschreiben. Im Gegensatz zu xs:choice und xs:sequence kann xs:all nicht in einen anderen Kompositor eingebettet werden. Diese Konstruktion kann daher nur unmittelbar unterhalb von xs:complex-Type, xs:restriction oder xs:extension auftreten; darüber hinaus darf die Auftretenshäufigkeit nur 0 oder 1 sein.

Die Partikeln, die in xs:all auftreten, sind ebenfalls begrenzt: Dort darf nur xs:element stehen, und die Auftretenshäufigkeit darf nur 0 oder 1 sein.

Die Kombination dieser beiden Einschränkungen bedeutet, daß xs:all nur verwendet werden darf, um Inhaltsmodelle zu beschreiben, bei denen eine Gruppe ungeordneter Elemente (vorgeschrieben oder optional, aber nicht häufiger als einmal auftretend) die einzigen Kindelemente sind.

Situationen, bei denen ungeordnete Gruppen optionaler Elemente beschrieben werden, die dieselben maximalen Auftretenshäufigkeiten haben, können unter Verwendung von xs:choice oder Ersetzungsgruppen beschrieben werden, andere Inhaltsmodelle jedoch (wie zum Beispiel Gruppen ungeordneter Elemente mit beliebigen und unterschiedlichen maximalen Auftretenshäufigkeiten) können mit W3C XML Schema nicht beschrieben werden.

Komplexe Typen, die mit einem xs:all-Kompositor definiert wurden, können nicht durch Erweiterung abgeleitet werden.

Beispiel

<xs:element name="author">
    <xs:complexType>
        <xs:all>
            <xs:element ref="name"/>
            <xs:element ref="born"/>
            <xs:element ref="dead" minOccurs="0"/>
        </xs:all>
        <xs:attribute ref="id"/>
    </xs:complexType>
</xs:element>
<xs:element name="full-name" substitutionGroup="name">
    <xs:complexType>
        <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>
    </xs:complexType>
</xs:element>

Attribute

id
Element-ID laut W3C XML Schema.

maxOccurs
Maximale Auftretenshäufigkeit. Dieser Wert ist auf 1 fixiert.

minOccurs
Minimale Auftretenshäufigkeit. Dieser Wert kann nur 0 oder 1 sein.

   

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