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 any attributes > annotation?,(all|choice|sequence)?) </group>
(? Le symbole de commentaire est déclaré dans l'élément group, qui peut apparaître zéro ou une fois.)
Attributs
id
Facultatif. Définir un ID unique pour cet élément.
name
Facultatif. Définir le nom du groupe. Ce nom doit être un nom sans deux-points (NCName) défini dans la norme de l'espace de noms XML.
Utiliser cette propriété uniquement lorsque l'élément schema est l'élément parent de l'élément group. Dans ce cas, le group est utilisé par les éléments complexType, choice et sequence comme modèle de groupe.
Les attributs name et ref ne peuvent pas être utilisés simultanément.
ref
Facultatif. Référencer le nom d'un autre groupe. La valeur ref doit être un QName. ref peut contenir un préfixe de namespace.
Les attributs name et ref ne peuvent pas être utilisés simultanément.
maxOccurs
Facultatif. Définir le nombre maximum d'occurrences de l'élément group dans l'élément parent. Cette valeur peut être un entier supérieur ou égal à zéro. Si vous ne souhaitez pas imposer de limite au nombre maximum, utilisez la chaîne de caractères "unbounded". La valeur par défaut est 1.
minOccurs
Facultatif. Définir le nombre minimum d'occurrences de l'élément group dans l'élément parent. Cette valeur peut être un entier supérieur ou égal à zéro. La valeur par défaut est 1.
any attributes
Facultatif. Définir toute autre propriété avec un espace de noms non schématique.
Exemple
Exemple 1
L'exemple suivant définit une séquence de quatre éléments contenant un groupe et utilise cet élément group dans une définition de type complexe :
<?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>