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>