Name

xs:all(outside a group) — Compositor describing an unordered group of elements.

Synopsis

<xs:all
           id                 = xs:ID
           maxOccurs          = “1” : “1”
           minOccurs          = ( “0” | “1” ) : “1”
           {any attributes with non-schema namespace}
           >
           Content: (xs:annotation?, xs:element*)
</xs:all>

May be included in: xs:complexType (local definition), xs:complexType (global definition), xs:extension (complex content), xs:restriction (complex content)

Description

xs:all is used to describe an unordered group of elements whose number of occurences may be zero or one.

Restrictions

xs:all is the only compositor that cannot be used as a particle and needs to be used by itself to describe a complete content model. Unlike xs:choice and xs:sequence, xs:all cannot be embedded within another compositor. It can, thus, only be embedded directly into an xs:complexType, xs:restriction, or xs:extension; furthermore, its number of occurrences may be only zero or one.

The particles included in xs:all are also limited: they can only be xs:element and their number of occurrences can only be zero or one.

Combining these two restrictions means xs:all may only be used to describe content models in which a group of unordered elements (mandatory or optional, but with a number of occurrences not greater than one) are the only child elements.

Situations describing unordered groups of optional elements that have the same number of maximum occurrences can be described using xs:choice or substitution groups, but other content models (such as groups ...

Get XML Schema now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.