elemento group do XML Schema

definição e uso

o elemento group é usado para definir grupos de elementos usados nas definições de tipos complexos.

informações do elemento

ocorrência sem restrição
elemento pai schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent)
conteúdo annotation、all、choice、sequence

Sintaxe

<group
id=ID
name=NCName
ref=QName
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
qualquer atributos
>
annotation?,(all|choice|sequence)?)
</group>

(? O sinal de interrogativo está declarado 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 ID (ID).

name

Opcional. Especifica o nome do grupo. Este nome deve ser um nome sem colons (NCName) definido nas normas de namespace XML.

Utilize 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.

As propriedades name e ref não podem aparecer ao mesmo tempo.

ref

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

As propriedades name e ref não podem aparecer 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.

qualquer atributos

Opcional. Especifica qualquer atributo com namespace 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>