XML Schema group 元素
定义和用法
group 元素用于定义在复杂类型定义中使用的元素组。
元素信息
出现次数 | 无限制 |
父元素 | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
内容 | annotation、all、choice、sequence |
Grammar
<group id=ID name=NCName ref=QName maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger Anumang atrubuto > annotation?,(all|choice|sequence)?) </group>
(Ang ? na deklarasyon ay nasa grupo, na maaaring lumitaw sa dalawang beses o wala sa lahat.)
Atributo
id
Optional. Ibatid ang eksklusibong ID ng elemento.
name
Optional. Ibatid ang pangalan ng grupo. Ang pangalan ay dapat na isang walang tatak na pangalan (NCName) na idindefinir sa XML na pangalan ng namespace na patakaran.
Gamitin lamang kung ang elemento ng schema ay ang magulang ng elemento ng group. Sa kaso na ito, ang group ay ginagamit ng modelo ng grupo na ginagamit ng mga elemento ng complexType, choice, at sequence.
Ang attribute na name at ref ay hindi magiging kaugnay sa isang beses.
ref
Optional. Sumangguni sa pangalan ng ibang grupo. Ang halaga ng ref ay dapat na QName. Ang ref ay maaaring may awtoridad ng pangalan ng namespace.
Ang attribute na name at ref ay hindi magiging kaugnay sa isang beses.
maxOccurs
Optional. Ibatid ang pinakamalaki na beses na maaaring lumitaw ang elemento ng group sa isang magulang na elemento. Ang halaga ay dapat na isang malaki ng integer na mas malaki o pantay sa 0. Kung ayaw mong itakda ang pinakamalaki na beses, gamitin ang string "unbounded". Ang default ay 1.
minOccurs
Optional. Ibatid ang pinakamaliit na beses na maaaring lumitaw ang elemento ng group sa isang magulang na elemento. Ang halaga ay dapat na isang malaki ng integer na mas malaki o pantay sa 0. Ang default ay 1.
Anumang atrubuto
Optional. Ibatid ang anumang iba pang atrubuto na may non-schema na pangalan ng namespace.
Mga Halimbawa
Mga Halimbawa 1
Ang halimbawa na ito ay nagtataglay ng grupo na naglalaman ng apat na elemento at ginamit ang elemento ng group sa isang kompleksong paglilinaw ng uri:
<?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>