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