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>