Capítulo 8. Desarrollo en Cocoon

8.1. Contenido estático

Para poder implantar sus aplicaciones de contenido estático en Cocoon usted debe seguir varios pasos:

Vamos a suponer que usted tiene un fichero para presentar información acerca de su empresa y es la página inicial de la misma. En este caso ese fichero, por ser el inicial lo llamaremos index.

Esto quiere decir que deberá tener un fichero llamado index.xml (con su respectiva DTD, supongamos su nombre como index.dtd) en el cual tendrá la información necesaria para mostrar la página principal de la empresa y además deberá tener un fichero index.xsl con el cual se aplicará formato HTML al documento XML.

Sugerencia

Es de anotar que no tiene porque crear un fichero XSL por cada fichero XML que tenga en su aplicación, sólo que para efectos de un ejemplo de muestra basta con hacerlo de esta forma.

El fichero sitemap.xmap de Cocoon nos servirá para decirle a Cocoon dónde encontrar los fuentes, como procesarlos y cómo presentarlos. Este fichero lo puede encontrar en COCOON_HOME/.

Lo que tiene que hacer es editar este fichero para añadirle un pipeline con el cual se pueda atender una solicitud que muestre el fichero que desea presentar.

Para nuestro ejemplo vamos a suponer que el fichero index.xml se encuentra en la ruta $MiAplicacion/XML/, que el fichero index.dtd se encuentra en la ruta $MiAplicacion/DTD y el fichero index.xsl que transforma el XML en un HTML se encuentra en la ruta $MiAplicacion/XSL/HTML/

Atención

Tenga en cuenta la ruta en la que guarda su DTD para que el fichero XML la pueda reconocer.

Sugerencia

Es recomendable manejar rutas relativas en la declaración de la DTD para mejorar la portabilidad de la aplicación.

Sugerencia

Cuando este construyendo aplicaciones en Cocoon es bastante útil definir directorios para guardar sus ficheros XML, XSL, sus DTD, sus fuentes, sus clases, etc.

Bien, el pipeline que usted debe añadir es de este estilo:

Analicemos un poco más detalladamente esto. La línea match pattern="MiAplicacion/index.html" le indica a Cocoon que cuando llegue una solicitud del tipo http://localhost:8080/cocoon/MiAplicacion/index.html la atienda obteniendo los datos del fichero XML $MiAplicacion/XML/index.xml (esto se le indica mediante la línea generate type="file" src="$MiAplicacion/XML/index.xml") y aplicándole la transformación dada por el fichero XSL ubicado en $MiAplicacion/XSL/HTML/index.xsl (lo cual se le dice mediante la línea transform src="$MiAplicacion/XSL/HTML/index.xsl").

Nota

Para un ejemplo un poco más detallado consulte el Apéndice A.