Definir una lista de valores en atributo XML

20/Feb/2014 XML , , Deja un comentario

Cuando estamos definiendo un atributo dentro de un DTD podemos hacer que los valores del atributo sean una lista de valores. Así podemos definir una lista de valores en atributo XML para que el usuario no se salga de este listado de valores.

Para definir un atributo sobre un elemento vamos a necesitar conocer las siguientes dos estructuras:

  1. <!ELEMENT element-name element-type>
  2. <!ATTLIST element-name attribute-name attribute-type>

Si queremos una lista de valores en atributo XML deberemos de seguir la siguiente estructura:

  1. <!ATTLIST element-name attribute-name (en1|en2|..) default-value>

Vemos que se indican los valores de la lista entre paréntesis separados por barras.

Para representarlo vamos a modelar un elemento que sea un pago bancario:

  1. <!ELEMENT payment>

Este elemento va a tener un atributo que sea el tipo de pago, para lo cual utilizaremos el atributo "type". El tipo de pago podrá ser:

  • cash, para pagos en moneda.
  • card, para pagos con tarjeta
  • check, para los pagos con cheques.

Así, la definición de la lista de valores en atributo XML se hará de la siguiente forma:

  1. <!ATTLIST payment type (card|check|cash) "cash">

Cuando estemos utilizando el DTD que contenga esta definición podremos tener documentos xmL que sean válidos como el siguiente:

  1. <payment type="check" />

Ya que el valor que le hemos asignado uno de los valores que estaba en la lista.

O documento XML que no san válidos como:

  1. <payment type="paypal" />

En este caso el valor que le hemos asignado al atributo no estaba contemplado en la lista, por lo cual no será un documento XML válido.

Ya hemos visto como crear listas de valores en atributos XML de una forma sencilla.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*