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"/>