XML y DTD. Elemento ELEMENT

Actualizado el 01/04/2007 < > 0 Comentarios

Resúmen: Usos del elemento ELEMENT en XML. Elementos vacíos, sólo con caracteres, subelementos, etc.

Meneame Bitacoras

Qué es el elemento ELEMENT del lenguaje XML

Los elementos de DTD llamados ELEMENT nos definen una etiqueta de nuestro dialecto de XML. Por ejemplo:

<!ELEMENT Receta (Nombre, Descripcion?,
  Ingredientes?, Instrucciones?)>

Define la etiqueta Receta, especificando qué contienen las subetiquetas: Nombre, Descripción, Ingredientes e Instrucciones, y agregando que estas tres últimas son opcionales (como indica el símbolo ?). La definición de ELEMENT es la siguiente:

<!ELEMENT nombre categoria>
  <!ELEMENT nombre (contenido)>

Elementos vacíos

Los elementos vacíos se declaran empleando la categoría EMPTY.

 <!ELEMENT nombre EMPTY>

Este elemento nombre, en XML se usaría así:

 <nombre />

Elementos con sólo caracteres

Los elementos que sólo contendrán datos alfanuméricos se declaran
usando #PCDATA entre paréntesis.

 <!ELEMENT nombre (#PCDATA)>

Elementos con cualquier contenido

Los elementos que declaremos usando ANY como indicador de contenido pueden contener cualquier combinación de datos parseables:

 <!ELEMENT nombre ANY>

Elementos con subelementos (secuencias)

Los elementos con uno o más elementos hijos se definen con el nombre de los elementos hijos entre paréntesis:

 <!ELEMENT nombre (hijo1)>
  <!ELEMENT nombre (hijo1, hijo2, ......)>

Por ejemplo:

 <!ELEMENT coche (marca, matricula, color)>

Los hijos que se declaran como una secuencia de elementos separados por comas deben aparecer en el mismo orden en el documento. Los elementos hijo también deben declararse en el documento DTD. Estos elementos hijo pueden, a su vez, tener elementos hijo. La declaración completa de coche sería entonces:

 <!ELEMENT coche (marca, matricula, color)>
  <!ELEMENT marca (#PCDATA)>
  <!ELEMENT matricula (#PCDATA))>
  <!ELEMENT color (#PCDATA)>

Cardinalidad de las ocurrencias de elementos

La siguiente declaración nos indica que el elemento hijo sólo puede ocurrir una vez dentro del elemento padre:

 <!ELEMENT nombre (hijo)>

Si deseamos que el elemento hijo aparezca más de una vez y como mínimo una vez:

 <!ELEMENT nombre (hijo+)>

Si deseamos que pueda aparecer cualquier número de veces (incluyendo la posibilidad de que no aparezca ninguna):

 <!ELEMENT nombre (hijo*)>

Si sólo deseamos que pueda aparecer una vez, pero que no sea obligatorio:

 <!ELEMENT nombre (hijo?)>

Elementos con contenido mixto

Podemos declarar también elementos que contengan otros elementos hijos y/o datos alfanuméricos.

 <!ELEMENT nombre (#PCDATA hijo hijo2)*>
Meneame Bitacoras

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

Autor: Carles Mateu

URL: No especificado

(Subir al texto)

Añadir Comentario

* Campos obligatorios