Modelos de contenido
Un modelo de contenido es un patrón que establece los sub-elementos aceptados, y el
orden en que se acepta.
07/2/07 - Un modelo sencillo puede tener un solo tipo de sub-elemento:
<!ELEMENT aviso (parrafo)>
Esto indica que <aviso> sólo puede contener un solo <parrafo>.
<!ELEMENT aviso (titulo, parrafo)>
La coma, en este caso, denota una secuencia. Es decir, el elemento <aviso> debe
contener un <titulo> seguido de un <parrafo>.
<!ELEMENT aviso (parrafo | grafico)>
La barra vertical "|" indica una opción. Es decir, <aviso> puede contener o bien un
<parrafo> o bien un <grafico>. El número de opciones no está limitado a dos, y se pueden
agrupar usando paréntesis.
<!ELEMENT aviso (titulo, (parrafo | grafico))>
En este último caso, el <aviso> debe contener un <titulo> seguido de un <parrafo> o de
un <grafico>.
Además, cada partícula de contenido puede llevar un indicador de frecuencia, que siguen
directamente a un identificador general, una secuencia o una opción, y no pueden ir
precedidos por espacios en blanco.
| Indicadores de frecuencia |
| ? | Opcional (0 o 1 vez) |
| * | Opcional y repetible (0 o más
veces) |
| + | Necesario y repetible (1 o
veces) |
Para entender esto, vamos a ver un ejemplo.
<!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>
En este caso, <aviso> puede tener <titulo>, o no (pero sólo uno), y puede tener cero o
más conjuntos<parrafo><grafico>, <parrafo><parrafo><grafico>, etc.
DECLARACIONES DE LISTA DE ATRIBUTOS
Los atributos permiten añadir información adicional a los elementos de un documento. La
principal diferencia entre los elementos y los atributos, es que los atributos no pueden
contener sub-atributos. Se usan para añadir información corta, sencilla y
desestructurada.
<mensaje prioridad="urgente">
<de>Alfredo Reino</de>
<a>Hans van Parijs</a>
<texto idioma="holandés">
Hallo Hans, hoe gaat het?
...
</texto>
</mensaje>
Otra diferencia entre los atributos y los elementos, es que cada uno de los atributos sólo
se puede especificar una vez, y en cualquier orden.
En el ejemplo anterior, para declarar la lista de atributos de los elementos <mensaje> y
<texto> haríamos lo siguiente:
<!ELEMENT mensaje (de, a, texto)>
<!ATTLIST mensaje prioridad (normal | urgente) normal>
<!ELEMENT texto(#PCDATA)>
<!ATTLIST texto idioma CDATA #REQUIRED>
Las declaraciones de los atributos empiezan con "<!ATTLIST", y a continuación del
espacio en blanco viene el identificador del elemento al que se aplica el atributo. Despues
viene el nombre del atributo, su tipo y su valor por defecto. En elejemplo anterior, el
atributo "prioridad" puede estar en el elemento <mensaje> y puede tener el valor "normal"
o "urgente", siendo "normal" el valor por defecto si no especificamos el atributo.
El atributo "idioma", pertenece al elemento texto, y puede contener datos de carácter
(CDATA). Es más, la palabra #REQUIRED significa que no tiene valor por defecto, ya que
es obligatorio especificar este atributo.
A menudo interesa que se pueda omitir un atributo, sin que se adopte automáticamente
un valor por defecto. Para esto se usa la condición "#IMPLIED". Por ejemplo, en una
supuesta DTD que defina la etiqueta <IMG> de HTML:
<!ATTLIST IMG URL CDATA #REQUIRED
ALT CDATE #IMPLIED>
Es decir, el atributo "URL" es obligatorio, mientras que el "ALT" es opcional (y si se omite,
no toma ningún valor por defecto).
Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
| Autoría, licencia y acciones sobre este artículo |
|
Informe de Alfredo Reino Romero
Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.
|
Manuales relacionados con este artículo
Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en
XML
| Comentarios de los visitantes |
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.
|
Ir arriba