elemento anyAttribute do XML Schema

definição e uso

O elemento anyAttribute permite que o criador do documento XML expanda o documento através de atributos não especificados pelo esquema.

informações do elemento

item descrição
ocorrência sem restrição
elemento pai complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
conteúdo anotação

gramática

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
atributos any
>
(anotação?)
</anyAttribute>

(? Símbolo declara que o elemento pode aparecer zero ou uma vez dentro do elemento anyAttribute.)

Atributos

id

Opcional. Regula o ID único do elemento.

namespace

Opcional. Regula o espaço de nomes que contém os elementos que podem ser usados. Se não for especificado o espaço de nomes, o valor padrão é ##any. Se o espaço de nomes for especificado, deve ser um dos seguintes valores.

  • ##any - Elementos provenientes de qualquer espaço de nomes podem aparecer (padrão).
  • ##other - Elementos provenientes de qualquer espaço de nomes além do espaço de nomes do pai do elemento podem aparecer.
  • ##local - Elementos não limitados por espaço de nomes podem aparecer.
  • ##targetNamespace - Elementos provenientes do espaço de nomes do pai do elemento que contém o elemento podem aparecer.
  • lista de referências de URI de espaços de nomes, ##targetNamespace, ##local} - Elementos provenientes da lista de espaços de nomes separados por espaço podem aparecer. A lista pode conter o seguinte conteúdo: referências de URI de espaços de nomes ##targetNamespace e ##local.

processContents

Opcional. Um indicador que indica como o aplicativo ou o processador XML deve processar a validação do documento XML com base no elemento any especificado. Se a propriedade processContents não for especificada, o padrão é strict. Se processContents for especificado, deve ser um dos seguintes valores.

  • strict - O processador XML deve obter a arquitetura necessária do espaço de nomes e deve validar todos os elementos provenientes desses espaços de nomes. (Padrão)
  • lax - Idêntico ao strict; no entanto, não ocorrerá nenhum erro mesmo que a arquitetura não possa ser obtida.
  • skip - O processador XML não tenta validar todos os elementos provenientes do espaço de nomes especificado.

atributos any

Opcional. Regula qualquer outro atributo com espaço de nomes não-esquema.

Exemplo

O exemplo a seguir ilustra uma declaração para o elemento "person". Ao usar o elemento <anyAttribute>, o criador pode adicionar um número arbitrário de atributos ao elemento "person":

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    <xs:anyAttribute/>
  </xs:complexType>
</xs:element>