elemento anyAttribute de XML Schema

definición y uso

El elemento anyAttribute permite a los creadores expandir el documento XML a través de atributos no especificados por el esquema.

información del elemento

elemento descripción
número de apariciones sin restricción
elemento padre complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
contenido anotación

Sintaxis

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
Cualquier atributo
>
(anotación?)
</anyAttribute>

(El símbolo ? indica que el elemento puede aparecer cero o una vez dentro del elemento anyAttribute.)

Atributo

id

Opcional. Especifica el ID único de este elemento.

namespace

Opcional. Especifica el espacio de nombres de los elementos que se pueden usar. Si no se especifica el espacio de nombres, el valor por defecto es ##any. Si se especifica un espacio de nombres, debe ser uno de los siguientes valores.

  • ##any - Pueden aparecer elementos provenientes de cualquier espacio de nombres (por defecto).
  • ##other - Pueden aparecer elementos provenientes de cualquier espacio de nombres que no sea el espacio de nombres del elemento padre.
  • ##local - Pueden aparecer elementos no limitados por un espacio de nombres.
  • ##targetNamespace - Pueden aparecer elementos provenientes del espacio de nombres del elemento padre que contiene este elemento.
  • Lista de referencias URI de espacios de nombres, ##targetNamespace, ##local - Los elementos provenientes de una lista de espacios de nombres separados por espacios pueden aparecer. Esta lista puede contener lo siguiente: referencias URI de los espacios de nombres ##targetNamespace y ##local.

processContents

Opcional. Un indicador que indica cómo debe procesar la aplicación o el procesador XML la validación del documento XML según el elemento especificado por el elemento any. Si no se especifica la propiedad processContents, el valor por defecto es strict. Si se especifica processContents, debe ser uno de los siguientes valores.

  • Strict - El procesador XML debe obtener el esquema necesario del espacio de nombres y debe verificar todos los elementos provenientes de estos espacios de nombres. (Por defecto)
  • Lax - Igual que strict; sin embargo, no se produce ningún error incluso si no se puede obtener el esquema.
  • Omitir - El procesador XML no verifica todos los elementos provenientes del espacio de nombres especificado.

Cualquier atributo

Opcional. Especifica cualquier otro atributo con un espacio de nombres no esquemático.

Ejemplo

El siguiente ejemplo muestra una declaración para el elemento "person". Al utilizar el elemento <anyAttribute>, el creador puede agregar una cantidad ilimitada de atributos al 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>