XML Şeması group elementi

Tanım ve kullanım

group element, karmaşık tür tanımlarında kullanılan element gruplarını tanımlamak için kullanılır.

Element bilgisi

Görünüm sıklığı Sınırsız
Ana element schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent)
İçerik annotation、all、choice、sequence

Gramer

<group
id=ID
name=NCName
ref=QName
maxOccurs=sıfır veya daha büyük bir tam sayı|unbounded
minOccurs=sıfır veya daha büyük bir tam sayı
Herhangi bir özellik
>
annotation?,(all|choice|sequence)?)
</group>

Group elemanında (? sembolü, bu elemanın sıfır veya bir kez görünmesini sağlar.)

Özellikler

id

Opsiyonel. Bu elemanın benzersiz bir kimliği belirler.

name

Opsiyonel. Grubun adını belirtir. Bu ad, XML isim uzantısı normunda tanımlanmış, atıf içermeyen bir isim (NCName) olmalıdır.

Bu özellik, schema elemanı group elemanının üst 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, isim uzantısını içerebilir.

name özelliği ve ref özelliği aynı anda kullanılamaz.

maxOccurs

Opsiyonel. Group elemanının üst elemanında görünmesini sağlayacak en büyük sayıyı belirtir. Bu değer, sıfır veya daha büyük bir tam sayı olabilir. En büyük sayıya herhangi bir kısıtlama uygulamak istemezseniz, "unbounded" kelimesini kullanın. Varsayılan değeri 1'dir.

minOccurs

Opsiyonel. Group elemanının üst elemanında görünmesini sağlayacak en küçük sayıyı belirtir. 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-schemalarca tanımlanmış herhangi bir özelliği belirler.

Örnek

Örnek 1

Aşağıdaki örnek, dört eleman içeren bir dizinin grubunu tanımlar ve bu group elemanını karmaşık tür tanımları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>