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>