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 Herhangi bir özellik > annotation?,(all|choice|sequence)?) </group>
(? işareti, group elemanında sıfır veya bir kez出现。)
Özellikler
id
Opsiyonel. Bu elemanın benzersiz bir kimliği belirler.
name
Opsiyonel. Grubun adını belirler. Bu ad, XML adlandırma alanı normunda tanımlanmış bir NCName (No-Colon Name) olmalıdır.
Bu özellik yalnızca schema elemanı group elemanının ebeveyn elemanı olduğunda kullanılır. Bu durumda, group, complexType, choice ve sequence elemanları tarafından kullanılan model grubudur.
name özelliği ve ref özelliği aynı anda kullanılamaz.
ref
Opsiyonel. Başka bir grubun adını referans alır. ref değeri QName olmalıdır. ref, bir adlandırma alanı öneki içerebilir.
name özelliği ve ref özelliği aynı anda kullanılamaz.
maxOccurs
Opsiyonel. Group elemanının ebeveyn elemanında görünmesi gereken en yüksek sıklığı belirler. Bu değer, sıfır veya daha büyük bir tam sayı olabilir. En yüksek sıklığa herhangi bir sınırlama koymak istemezseniz, "unbounded" kelimesini kullanın. Varsayılan değeri 1'dir.
minOccurs
Opsiyonel. Group elemanının ebeveyn elemanında görünmesi gereken en düşük sıklığı belirler. Bu değer, sıfır veya daha büyük bir tam sayı olabilir. Varsayılan değeri 1'dir.
Herhangi bir özellik
Opsiyonel. Non-shema adlandırma alanına sahip herhangi bir diğer özelliği belirtir.
Örnek
Örnek 1
Aşağıdaki örnek, dört eleman içeren bir dizinin grubunu tanımlar ve bu group elemanını karmaşık bir tür tanımlamasında kullanır:
<?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>