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 | annotation、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 > (annotation?,(simpleType?)) </attribute>
(? O símbolo declara que este elemento pode aparecer zero ou uma vez no elemento attribute.)
Atributo
default
Opcional. Determina o valor padrão do atributo. As propriedades default e fixed não podem aparecer ao mesmo tempo.
fixed
Opcional. Determina o valor fixo do atributo. As propriedades default e fixed não podem aparecer ao mesmo tempo.
form
Opcional. Determina o formato do atributo. O valor padrão é o valor da propriedade attributeFormDefault do elemento schema que contém este atributo. Pode ser configurado para os seguintes valores:
- "qualified" - Indica que é necessário delimitar este atributo através de um prefixo de espaço de nomes e do nome sem colons (NCName) deste atributo.
- "unqualified" - Indica que este atributo não precisa ser delimitado por um prefixo de espaço de nomes e não precisa coincidir com o nome sem colons (NCName) deste atributo, ou seja, o nome local.
id
Opcional. Especifica o ID único do elemento.
name
Opcional. Especifica o nome do atributo. Os atributos name e ref não podem aparecer ao mesmo tempo.
ref
Opcional. Especifica a referência para o atributo especificado. Os atributos 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. Especifica 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. Especifica como usar o atributo. Pode ser configurado os seguintes valores:
- opcional - O atributo é opcional e pode ter qualquer valor (padrão).
- proibido - Não é permitido usar o atributo.
- obrigatório - Atributo necessário.
qualquer atributos
Opcional. Especifica qualquer outro atributo com espaço de nomes 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 a 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 nenhum outro valor for especificado, o valor padrão será atribuído automaticamente ao atributo. No exemplo a seguir, o valor padrão é "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Quando nenhum outro valor for especificado, o valor fixo será atribuído automaticamente ao atributo. No entanto, diferente do valor padrão, se você especificar outro valor além do valor fixo para o atributo, o documento será validado 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"/>