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

(? Het vraagteken-teken wordt in de group-element gedeclareerd, die nul of één keer kan voorkomen.)

Eigenschappen

id

Optioneel. Stelt een unieke ID voor het element vast.

naam

Optioneel. Stelt de naam van de groep vast. Deze naam moet een naam zijn die in de XML naamruimte规范 is gedefinieerd en geen kolon bevat (NCName).

Gebruik deze eigenschap alleen wanneer het schema-element de ouder is van het group-element. In dit geval is de group een modelgroep die gebruikt wordt door de elementen complexType, choice en sequence.

De eigenschappen "name" en "ref" kunnen niet tegelijkertijd voorkomen.

ref

Optioneel. Verwijst naar de naam van een andere groep. De waarde van "ref" moet een QName zijn. "ref" kan een naamruimteprefix bevatten.

De eigenschappen "name" en "ref" kunnen niet tegelijkertijd voorkomen.

maxOccurs

Optioneel. Stelt het maximaal aantal keren dat de group-element kan voorkomen in een ouder element. De waarde kan een geheel getal zijn dat groter of gelijk is aan nul. Gebruik de string "unbounded" om geen limiet op te leggen aan het maximale aantal. De standaardwaarde is 1.

minOccurs

Optioneel. Stelt het minimaal aantal keren dat de group-element kan voorkomen in een ouder element. De waarde kan een geheel getal zijn dat groter of gelijk is aan nul. De standaardwaarde is 1.

alle eigenschappen

Optioneel. Stelt elke andere eigenschap met een non-schematische naamruimte vast.

Voorbeeld

Voorbeeld 1

Hier volgt een voorbeeld dat een groep van vier elementen definieert en deze groep gebruikt in een complex type definitie:

<?xml versie="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group naam="custGroup">
 <xs:sequence>
  <xs:element naam="customer" type="xs:string"/>
  <xs:element naam="orderdetails" type="xs:string"/>
  <xs:element naam="billto" type="xs:string"/>
  <xs:element naam="shipto" type="xs:string"/>
 </xs:sequence>
</xs:group>
<xs:element naam="order" type="ordertype"/>
<xs:complexType name="ordertype">
  <xs:group ref="custGroup"/>
  <xs:attribute name="status" type="xs:string"/>
</xs:complexType>
</xs:schema>