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>