XML y DTD. Elemento ATTLIST

Actualizado el 01/04/2007 < > 1 Comentario

Resúmen: Atributos de ELEMENT; qué es el elemento ATTLIST en XML. Sintaxis.

Meneame Bitacoras

Qúe es el elemento ATTLIST del lenguaje XML.

Como ya hemos visto, los elementos en XML pueden tener atributos. Evidentemente, en DTD disponemos de un mecanismo para indicar qué atributos puede tener un ELEMENT, de qué tipo, si son o no obligatorios, etc. Para ello disponemos del elemento ATTLIST, cuya sintaxis es:

<!ATTLIST elemento atributo tipo-atributo valor-defecto>

Un ejemplo de uso sería:

<!ATTLIST pago metodo CDATA “contra-reembolso” >

Y su uso en XML:

<pago metodo=“contra-reembolso” />

El tipo de atributo debe ser uno de los de la lista:

Valor Descripción
CDATA El valor son caracteres alfanuméricos
(v1 | v2 | ..) El valor será uno de la lista explicitada
ID El valor será un identificador único
IDREF El valor es el ID de otro elemento
IDREFS El valor es una lista de ID otros elementos
NMTOKEN El valor es un nombre XML válido
NMTOKENS El valor es una lista de nombres XML válidos
ENTITY El valor es una entidad
ENTITIES El valor es una lista de entidades
NOTATION El valor es el nombre de una notación
xml: El valor es un valor XML predefinido
valor El valor por defecto del atributo
#REQUIRED El valor del atributo debe aparecer obligatoriamente
en el elemento
#IMPLIED El atributo no tiene por qué ser incluido
#FIXED valor El valor del atributo es fijo

Valor por defecto

En el siguiente ejemplo:

 <!ELEMENT pago EMPTY>
  <!ATTLIST pago metodo CDATA “contra-reembolso” >

El siguiente XML se considera válido:

 <pago />

En este caso, donde no especificamos valor para método, éste contendrá el valor por defecto de contra-reembolso.

Sintaxis de #IMPLIED

En el siguiente ejemplo:

 <!ELEMENT pago EMPTY>
  <!ATTLIST pago metodo CDATA #IMPLIED >

Validará correctamente el siguiente XML:

 <pago metodo=“tarjeta” />
  <pago />

Usaremos, pues, #IMPLIED en aquellos casos en los que no queremos forzar al usuario a usar atributos pero no podemos poner valores por defecto.

Sintaxis de #REQUIRED

En el siguiente ejemplo:

 <!ELEMENT pago EMPTY>
  <!ATTLIST pago metodo CDATA #REQUIRED >

Validará correctamente el siguiente XML:

 <pago metodo=“tarjeta” />

pero no validará:

 <pago />

Usaremos #REQUIRED en aquellos casos en los que no podemos proporcionar un valor por defecto, pero deseamos que el atributo aparezca y se le asigne algún valor.

Meneame Bitacoras

Publicado el 01/04/2007, última actualización 01/04/2007.

Autor: Carles Mateu

URL: No especificado

Añadir Comentario (Subir al texto)

1 Comentario

  1. Miki

    Genial tutorial, me ayudo con una duda que tenía :D

    Viernes, 14 de enero 2011

(Subir al texto)

Añadir Comentario

* Campos obligatorios