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>

(? Símbolo de declaração está no elemento group, que pode aparecer zero ou uma vez.)

Atributos

id

Opcional. Especifica um ID único para o elemento. O ID deve ser um valor de atributo que é único dentro do documento.

name

Opcional. Especifica o nome do grupo. Este nome deve ser um nome sem colons (NCName) definido nas especificações do espaço de nomes XML.

Use essa propriedade apenas quando o elemento schema é o pai do elemento group. Neste caso, o group é o modelo de grupo usado pelos elementos complexType, choice e sequence.

Os atributos name e ref não podem ser usados ao mesmo tempo.

ref

Opcional. Referencia o nome de outro grupo. O valor ref deve ser QName. ref pode conter prefixo de espaço de nomes.

Os atributos name e ref não podem ser usados ao mesmo tempo.

maxOccurs

Opcional. Especifica o número máximo de vezes que o elemento group pode aparecer no pai. Este valor pode ser um inteiro maior ou igual a zero. Se não desejar estabelecer nenhum limite para o número máximo, use a string "unbounded". O valor padrão é 1.

minOccurs

Opcional. Especifica o número mínimo de vezes que o elemento group pode aparecer no pai. Este valor pode ser um inteiro maior ou igual a zero. O valor padrão é 1.

any attributes

Opcional. Especifica qualquer atributo com espaço de nomes não-esquema.

Exemplo

Exemplo 1

A seguir, é definida uma sequência de quatro elementos contida em um grupo e utilizada em uma definição de tipo complexo:

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