Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The group element is used both for the definition of a group and for any reference to a named group. You can use a model group to define a set of elements that can be repeated through the document. This is useful for building a complex type definition. Named model groups can be further defined by using sequence, choice, or all child elements.
A named model group consists of element declarations, wildcards, and other model groups. Named model groups must have a name attribute and are declared at the top level of the schema.
An unnamed group element is not declared at the top level and must have a ref attribute that references an existing named group. Unnamed groups must not have a name attribute. A named group can be referenced, multiple times, using an unnamed group in the XML Schema document.
Example
The following example creates a named model group, stationeries
, that allows a limited set of 1-5 books and 1-5 pens to appear in the group.
<xs:group name="stationeries">
<xs:choice>
<xs:element name="books" minOccurs="1" maxOccurs="5" />
<xs:element name="pens" minOccurs="1" maxOccurs="5" />
</xs:choice >
</xs:group>
Referencing a Global Group Declaration
You can use the ref attribute to reference a group by name in order to use the group description.
Example
The following example references a model group, stationeries
, inside of the choice element.
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:group name="stationeries">
<xs:sequence>
<xs:element name="books" minOccurs="1" maxOccurs="5" />
<xs:element name="pens" minOccurs="1" maxOccurs="5" />
</xs:sequence>
</xs:group>
<xs:element name="Order">
<xs:complexType>
<xs:choice>
<xs:element name="table" minOccurs="1" maxOccurs="5" />
<xs:group ref="stationeries" minOccurs="1" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>