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

(?-merkki määrittely ilmoitetaan group-elementissä, joka voi esiintyä nolla tai yhden kerran。)

Ominaisuudet

id

Valinnainen. Määrittää elementin ainutlaatuisen ID:n.

name

Valinnainen. Määrittää ryhmän nimen. Nimen on oltava XML-nimintilan määrittelyssä määritelty ilman kolonitausta nimi (NCName).

Käytetään vain, kun schema-elementti on group-elementin isäntäelementti. Tässä tapauksessa group on malliryhmä, jota complexType, choice ja sequence-elementit käyttävät.

name- ja ref-ominaisuudet eivät voi esiintyä samanaikaisesti.

ref

Valinnainen. Viittaa toisen ryhmän nimeen. ref-arvon on oltava QName. ref voi sisältää nimenkutsun etuliitteen.

name- ja ref-ominaisuudet eivät voi esiintyä samanaikaisesti.

maxOccurs

Valinnainen. Määrittää, kuinka monta kertaa group-elementti voi esiintyä isäntäelementissä. Arvo voi olla yli tai yhtä suuri kuin nolla kokonaisluku. Jos et halua asettaa enimmäismäärää, käytä merkkijonoa "unbounded". Oletusarvo on 1.

minOccurs

Valinnainen. Määrittää, kuinka monta kertaa group-elementti voi esiintyä isäntäelementissä. Arvo voi olla yli tai yhtä suuri kuin nolla kokonaisluku. Oletusarvo on 1.

muita attribuutteja

Valinnainen. Määrittää minkä tahansa schema-nimittämättömän tilan määrittelyssä olevia määrittelyjä.

Esimerkki

Esimerkki 1

Esimerkki alla oleva määrittää sarjan, joka sisältää neljä elementtiä, ja käyttää tätä group-elementtiä monimutkaisessa tyyppimäärittelyssä:

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