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

(?-teckenet deklarerar i group-elementet, som kan uppträda noll eller en gång.)

Attribut

id

Valfritt. Bestäm det unika ID för elementet.

name

Valfritt. Bestäm gruppens namn. Namnet måste vara ett namn utan kolon (NCName) definierat i XML-namnrymdsstandarden.

Använd detta attribut endast när schema-elementet är föräldrelementet till group-elementet. I detta fall används group av modellgruppen använd av complexType, choice och sequence-element.

name-attributet och ref-attributet får inte användas samtidigt.

ref

Valfritt. Referera till namnet på en annan grupp. ref-värdet måste vara QName. ref kan innehålla namnrymdsprefix.

name-attributet och ref-attributet får inte användas samtidigt.

maxOccurs

Valfritt. Bestäm den högsta antalet gånger som gruppselementet kan uppträda i föräldrelementet. Värdet kan vara ett heltal större än eller lika med noll. Om du inte vill sätta någon gräns för det högsta antalet gånger, använd strängen "unbounded". Standardvärdet är 1.

minOccurs

Valfritt. Bestäm den minsta antalet gånger som gruppselementet kan uppträda i föräldrelementet. Värdet kan vara ett heltal större än eller lika med noll. Standardvärdet är 1.

valfria attribut

Valfritt. Bestäm några andra attribut med non-schema namnrymd.

Exempel

Exempel 1

Nedanstående exempel definierar en sekvens av fyra element och använder denna grupp i en komplex typdefinition:

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