Elemento any do XML Schema
Definição e uso
O elemento any permite que qualquer elemento da namespace especificada possa ser exibido dentro de elementos sequence ou choice.
Este elemento permite que o criador do documento expanda o documento XML através de elementos não especificados pelo schema.
Informações do elemento
Item | Descrição |
---|---|
Número de aparições | Sem limite |
Elemento pai | choice, sequence |
Conteúdo | annotation |
Sintaxe
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict Atributos any > (annotation?) </any>
(? O símbolo declara que o elemento pode aparecer zero ou uma vez em qualquer elemento.)
Atributo
id
Opcional. Define o ID único do elemento.
maxOccurs
Opcional. Define o número máximo de vezes que o elemento any pode aparecer no elemento pai. Este valor pode ser um inteiro não negativo ou igual a zero. Se não desejar estabelecer nenhum limite para o número máximo, use a string "unbounded". O valor padrão é 1.
minOccurs
Opcional. Especifica o número mínimo de vezes que o elemento <any> pode aparecer no elemento pai. O valor pode ser um inteiro maior ou igual a zero. Para especificar que o grupo <any> é opcional, defina essa propriedade como zero. O valor padrão é 1.
namespace
Opcional. Especifica o namespace dos elementos que podem ser usados. Se não for especificado o namespace, o valor padrão é ##any. Se especificado, deve ser um dos seguintes valores:
- ##any - Elementos de qualquer namespace podem aparecer (padrão).
- ##other - Elementos de qualquer namespace fora do namespace do elemento pai podem aparecer.
- ##local - Elementos não limitados por namespace podem aparecer.
- ##targetNamespace - Elementos que podem aparecer de um namespace que contém o elemento pai podem aparecer.
- Lista de {URI referências de namespaces, ##targetNamespace, ##local} - Elementos que podem aparecer de uma lista de namespaces separados por espaço podem aparecer. A lista pode conter o seguinte conteúdo: Referências de URI dos namespaces ##targetNamespace e ##local.
processContents
Opcional. Um indicador de como o aplicativo ou o processador XML deve lidar com 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 especificado, deve ser um dos seguintes valores:
- Strict - O processador XML deve obter o esquema necessário do namespace e deve verificar todos os elementos desses namespaces. (Padrão)
- Lax - Como strict; mas, mesmo que o esquema não seja obtido, não há erro algum.
- Skip - O processador XML não verifica todos os elementos de um namespace específico.
Atributos any
Opcional. Especifica qualquer outra propriedade com nome não do esquema.
Exemplo
O exemplo a seguir ilustra uma declaração do elemento "person". Através do uso do elemento <any>, o criador pode expandir o conteúdo do "person" com qualquer elemento (depois do <lastname>):
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>