|
El API JAXP |
Referenciar Entidades Binarias
Esta sección no contiene ejercicios de programación. En su lugar, explica las opciones para referenciar ficheros binarios como imágenes y datos multimedia.
Usar un Tipo de Datos MIME
Hay dos formas de referenciar una entidad sin analizar como un fichero de imagen binario. Una es usar la especificación de la NOTATION DTD --un mecanismo de especificación. Sin embargo, este mecanismo es el más complejo, y poco intuitivo de todos los que existen por compatibilidad con los documentos SGML. Tendremos ocasión de explicarlo un poco más en profundidad cuando veamos el API DTDHandler, pero por ahora, es suficiente, decir que la combinación del recientemente definido espacio de nombres XML estándard, en conjunción con los tipos de Datos MIME definidos para adjuntar a mensajes electrónicos, proporcionan un mecanismo más útil, para referenciar entidades externas sin analizar.
Para configurar el slideshow para usar imágenes, añadimos el texto en negrita de abajo, a nuestro fichero slideshow.dtd.
<!ELEMENT slide (image?, title, item*)>
<!ATTLIST slide
type (tech | exec | all) #IMPLIED
>
<!ELEMENT title (#PCDATA)>
<!ELEMENT item (#PCDATA | item)* >
<!ELEMENT image EMPTY>
<!ATTLIST image
alt CDATA #IMPLIED
src CDATA #REQUIRED
type CDATA "image/gif"
>
Estas modificaciones declaran image como un elemento opcional en un slide, lo define como un elemento vacío, y define los atributos que requiere.
Los atributos de la etiqueta image son definidos por la entrada ATTLIST. El atributo alt, define el texto alternativo a mostrar en caso de que no se pueda encontrar la imagen, acepta caracteres (CDATA). Tiene un valor "implied", lo que significa que es opcional, y que el programa que procesa los datos conoce un sustituto, algo como "Image not found". Por otro lado, el atributo src, que nombra la imagen a mostrar, es requerido.
El atributo type es para la especificación del tipo MIME, como se define en ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/. Tiene un valor por defecto: image/gif.
En el documento, una referencia a una imagen llamada "intro-pic" podría parecerse algo a esto:
<image src="image/intro-pic.gif", alt="Intro Pic", type="image/gif" />
La Alternativa: Usar Referencias de Entidad
Usar un tipo de dato MIME como un atributo de un elemento es un mecanismo flexible y expandible. Para crear una referencia ENTITY externa usamos el mecanismo de notación, necesitamos elementos NOTATION DTD para datos jpeg y gif. Estos pueden obtenerse desde un repositorio central. Pero entonces necesitamos definir un elemento ENTITY diferente para cada imagen que queramos referenciar! En otras palabras, añadir una nueva imagen a nuestro documento, siempre requiere una nueva definición de entidad en el DTD y una referencia a ella en el documento. Dada la anticipada ubicuidad de la especificación HTML 4.0, el nuevo estándard es usar los tipos de datos MIME y una declaración como image, que asume que la aplicación sabe como procesar dichos elementos.
Me ha aclarado muchas ideas
















































