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>