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>