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>