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
any attributes
>
annotation?,(all|choice|sequence)?)
</group>

(Simbol ? deklarasikan dalam elemen group, elemen ini dapat muncul nol atau satu kali.)

Atribut

id

Pilihan. Tentukan ID unik elemen ini.

name

Pilihan. Tentukan nama grup. Nama ini harus berupa NCName (nama tanpa tanda kolon) yang didefinisikan dalam spesifikasi namespace XML.

Hanya digunakan untuk atribut ini saat elemen schema adalah elemen induk dari elemen group. Dalam kasus ini, group adalah model group yang digunakan oleh elemen complexType, choice, dan sequence.

Atribut name dan ref tidak dapat muncul bersamaan.

ref

Pilihan. Merujuk kepada nama grup lain. Nilai ref harus berupa QName. Ref dapat mengandung prefiks namespace.

Atribut name dan ref tidak dapat muncul bersamaan.

maxOccurs

Pilihan. Tentukan jumlah maksimum penampilan elemen group dalam elemen induk. Nilai ini dapat berupa bilangan bulat yang lebih besar atau sama dengan nol. Jika tidak ingin menentukan batas untuk jumlah maksimum, gunakan string "unbounded". Nilai defaultnya adalah 1.

minOccurs

Pilihan. Tentukan jumlah minimum penampilan elemen group dalam elemen induk. Nilai ini dapat berupa bilangan bulat yang lebih besar atau sama dengan nol. Nilai defaultnya adalah 1.

any attributes

Pilihan. Tentukan properti lain yang memiliki non-schema namespace.

Contoh

Contoh 1

Contoh di bawah ini mendefinisikan suatu grup urutan yang mengandung empat elemen dan menggunakan elemen group ini dalam definisi tipe kompleks:

<?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>