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 schema.
informações do elemento
item | descrição |
---|---|
número de ocorrências | sem restrição |
elemento pai | complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup |
conteúdo | anotação |
Sintaxe
<anyAttribute id=ID namespace=namespace processContents=lax|skip|strict Atributos qualquer > (anotação?) </anyAttribute>
(? O símbolo declara que o elemento pode aparecer zero ou uma vez dentro do elemento anyAttribute.)
Atributo
id
Opcional. Especifica o ID único do elemento.
namespace
Opcional. Especifica o espaço de nomes dos elementos que podem ser usados. Se não for especificado o espaço de nomes, o valor padrão é ##any. Se 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 delimitados por espaço de nomes podem aparecer.
- ##targetNamespace - Elementos provenientes do espaço de nomes do pai do elemento que contém esse elemento podem aparecer.
- Uma lista de referências de URI de espaços de nomes, ##targetNamespace, ##local - elementos provenientes de uma 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ço de nomes ##targetNamespace e ##local.
processContents
Opcional. Um indicador que indica como o aplicativo ou o processador XML deve lidar com a validação do documento XML com base no elemento especificado por esse elemento any. Se a propriedade processContents não for especificada, o padrão é strict. Se especificado, deve ser um dos seguintes valores.
- Strict - O processador XML deve obter o esquema necessário do espaço de nomes e deve verificar todos os elementos provenientes desses espaços de nomes. (Padrão)
- Lax - Como strict; mas, mesmo que não seja possível obter o esquema, não ocorrerá nenhum erro.
- Skip - O processador XML não verifica todos os elementos provenientes do espaço de nomes especificado.
Atributos qualquer
Opcional. Especifica qualquer outro atributo com espaço de nomes não-esquema.
Exemplo
O exemplo a seguir mostra uma declaração para o elemento "person". Ao usar o elemento <anyAttribute>, o criador pode adicionar qualquer quantidade 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>