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>