XML Schema group 元素
定义和用法
group 元素用于定义在复杂类型定义中使用的元素组。
元素信息
出现次数 | 无限制 |
父元素 | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
内容 | annotation、all、choice、sequence |
语法
<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
Opcjonalne. Określa unikalny ID elementu.
name
Opcjonalne. Określa nazwę grupy. Nazwa musi być bezkresową nazwą (NCName) zdefiniowaną w specyfikacji przestrzeni nazw XML.
Używaj tego atrybutu tylko wtedy, gdy element schema jest rodzicem elementu group. W tym przypadku group jest używany jako modelowa grupa przez elementy complexType, choice i sequence.
Atrybuty name i ref nie mogą występować jednocześnie.
ref
Opcjonalne. Wskazuje nazwę innej grupy. Wartość ref musi być QName. ref może zawierać prefiks przestrzeni nazw.
Atrybuty name i ref nie mogą występować jednocześnie.
maxOccurs
Opcjonalne. Określa maksymalną liczbę wystąpień elementu group w rodzicu. Wartość może być całkowitą liczbą większą lub równą zero. Jeśli nie ma ograniczenia maksymalnej liczby wystąpień, użyj ciąg literek "unbounded". Domyślna wartość to 1.
minOccurs
Opcjonalne. Określa minimalną liczbę wystąpień elementu group w rodzicu. Wartość może być całkowitą liczbą większą lub równą zero. Domyślna wartość to 1.
Dowolne atrybuty
Opcjonalne. Określa inne atrybuty z non-schematyczną przestrzenią nazw.
Przykład
Przykład 1
Poniżej znajduje się przykład sekwencji zawierającej cztery elementy grupy oraz jej użycie 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>