Element XML Schema group

Definicja i zastosowanie

Grupa elementów służy do definiowania grup elementów używanych w definicji typów złożonych.

Informacje o elemencie

Liczba wystąpień Bez ograniczeń
Rodzic elementu schema, choice, sequence, complexType, restriction (complexContent), extension (complexContent)
Zawartość annotation, all, choice, sequence

Gramatyka

<group
id=ID
name=NCName
ref=QName
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
dowolne atrybuty
>
annotation?,(all|choice|sequence)?)
</group>

(? Symbol deklaracji znajduje się w elemencie group, który może występować zero lub jeden raz.)

Atrybuty

id

Opcjonalnie. Określa unikalny ID elementu.

name

Opcjonalnie. Określa nazwę grupy. Nazwa musi być bezkresową nazwą (NCName) zdefiniowaną w specyfikacji namespace XML.

Używaj tego atrybutu tylko gdy element schema jest elementem nadrzędnym dla elementu group. W tym przypadku group jest używany jako model group dla elementów complexType, choice i sequence.

Atrybuty name i ref nie mogą występować jednocześnie.

ref

Opcjonalnie. Odnosi się do nazwy innego elementu group. Wartość ref musi być QName. ref może zawierać prefiks przestrzeni nazw.

Atrybuty name i ref nie mogą występować jednocześnie.

maxOccurs

Opcjonalnie. Określa maksymalną liczbę wystąpień elementu group w kontekście nadrzędnym. Wartość może być całkowitą liczbą większą lub równą zero. Jeśli nie chcemy ograniczać maksymalnej liczby wystąpień, użyj ciągła "unbounded". Domyślną wartością jest 1.

minOccurs

Opcjonalnie. Określa minimalną liczbę wystąpień elementu group w kontekście nadrzędnym. Wartość może być całkowitą liczbą większą lub równą zero. Domyślną wartością jest 1.

dowolne atrybuty

Opcjonalnie. Określa inne atrybuty z non-schema namespace.

Przykład

Przykład 1

Poniżej znajduje się przykład definicji sekwencji zawierającej cztery elementy oraz użycie tego elementu group w definicji typu złożonego:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="custGroup">
 <xs:sequence>
  <xs:element name="customer" type="xs:string"/>
  <xs:element name="orderdetails" type="xs:string"/>
  <xs:element name="billto" type="xs:string"/>
  <xs:element name="shipto" type="xs:string"/>
 </xs:sequence>
</xs:group>
<xs:element name="order" type="ordertype"/>
<xs:complexType name="ordertype">
  <xs:group ref="custGroup"/>
  <xs:attribute name="status" type="xs:string"/>
</xs:complexType>
</xs:schema>