Elemento attribute do XML Schema
Definição e uso
O elemento attribute define um atributo.
Informações do elemento
Número de ocorrências | Definido uma vez no elemento schema. Referenciado várias vezes em tipos complexos ou grupos de atributos. |
Elemento pai | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
Conteúdo | anotação、simpleType |
Sintaxe
<attribute default=string fixed=string form=qualificado|não qualificado id=ID name=NCName ref=QName type=QName use=opcional|proibido|required qualquer atributos > (anotação?,(simpleType?)) </attribute>
(? O símbolo declara que o elemento pode aparecer zero ou uma vez no elemento attribute.)
Atributo
default
Opcional. Define o valor padrão do atributo. Os atributos default e fixed não podem ser usados ao mesmo tempo.
fixed
Opcional. Define o valor fixo do atributo. Os atributos default e fixed não podem ser usados ao mesmo tempo.
form
Opcional. Define o formato do atributo. O valor padrão é o da propriedade attributeFormDefault do elemento schema que contém a propriedade. Pode ser configurado para os seguintes valores:
- "qualified" - Indica que o atributo deve ser delimitado pelo prefixo de namespace e o nome sem colchetes (NCName) da propriedade.
- "unqualified" - Indica que este atributo não precisa ser delimitado por prefixo de namespace e não precisa coincidir com o nome sem colons (NCName), ou seja, o nome local.
id
Opcional. Especificar o ID único deste elemento.
name
Opcional. Especificar o nome do atributo. As propriedades name e ref não podem aparecer ao mesmo tempo.
ref
Opcional. Especificar a referência para o atributo especificado. As propriedades name e ref não podem aparecer ao mesmo tempo. Se ref aparecer, o elemento simpleType, form e type não podem aparecer.
type
Opcional. Especificar o tipo de dados interno ou simples. O atributo type pode aparecer apenas quando o conteúdo não contém o elemento simpleType.
use
Opcional. Especificar como usar o atributo. Pode ser configurado os seguintes valores:
- opcional - O atributo é opcional e pode ter qualquer valor (padrão).
- proibido - Atributo não pode ser usado.
- obrigatório - Atributo necessário.
qualquer atributos
Opcional. Especificar qualquer outro atributo com namespace não-esquema.
Exemplo
Exemplo 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
O exemplo acima indica que o atributo "code" tem uma restrição. O único valor aceitável é duas letras maiúsculas A a Z.
Exemplo 2
Para usar uma definição de atributo existente em um tipo complexo para declarar um atributo, use o atributo ref:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
Exemplo 3
O atributo pode ter um valor padrão ou um valor fixo especificado. Quando não for especificado outro valor, o valor padrão será automaticamente atribuído ao atributo. No exemplo a seguir, o valor padrão é "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Quando não for especificado outro valor, o atributo será automaticamente atribuído um valor fixo. No entanto, diferente do valor padrão, se você especificar outro valor além do valor fixo para o atributo, o documento será verificado como inválido. No exemplo a seguir, o valor fixo é "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Exemplo 4
Todos os atributos são opcionais por padrão. Para especificar explicitamente que um atributo é opcional, use o atributo "use":
<xs:attribute name="lang" type="xs:string" use="optional"/>
Tornar o atributo obrigatório:
<xs:attribute name="lang" type="xs:string" use="required"/>