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>