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

(? El símbolo de pregunta se declara en el elemento group, que puede aparecer cero o una vez。)

Atributos

id

Opcional. Especifica un ID único para este elemento.

name

Opcional. Especifica el nombre del grupo. Este nombre debe ser un nombre sin dos puntos (NCName) definido en la especificación de namespace de XML.

Únicamente se utiliza esta propiedad cuando el elemento schema es el elemento padre del elemento group. En este caso, el group es el modelo de grupo utilizado por los elementos complexType, choice y sequence.

Las propiedades name y ref no pueden aparecer simultáneamente.

ref

Opcional. Referencia al nombre de otro grupo. El valor de ref debe ser QName. ref puede contener un prefijo de namespace.

Las propiedades name y ref no pueden aparecer simultáneamente.

maxOccurs

Opcional. Especifica el número máximo de veces que puede aparecer el elemento group en el elemento padre. Este valor puede ser un entero mayor o igual a cero. Si no se desea establecer ningún límite para el número máximo, utilice la cadena "unbounded". El valor predeterminado es 1.

minOccurs

Opcional. Especifica el número mínimo de veces que puede aparecer el elemento group en el elemento padre. Este valor puede ser un entero mayor o igual a cero. El valor predeterminado es 1.

cualquier atributos

Opcional. Especifica cualquier otro atributo con no namespace.

Ejemplo

Ejemplo 1

El siguiente ejemplo define una secuencia de cuatro elementos que contiene un grupo y utiliza este elemento group en una definición de tipo complejo:

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