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>