1 Álvaro Salido FernándezXML CREATIVO Álvaro Salido Fernández
2 ¿Qué era eso del XML? Metalenguaje Lenguaje de marcas = tagsreglas define Metalenguaje Lenguaje de marcas = tags Estructura : tags, atributos Datos no XML : Entity Formato no XML: Notation dar Formato a XML: Transformaciones de XML a HTML : XSL XSL: especificación W3C para aplicar formato a XML lenguajes
3 Objetos y XML Objeto es un espécimen de una clase.Clase es un conjunto de atributos y métodos propios generales. Objeto tiene algunos atributos y métodos de su clase. XML permite Formatear objetos.
4 Transformaciones XSL Xpath Rutas de directorios Xquery MySQLXSL-FO CSS 1º Crear una hoja de estilos XSL (plantillas) 2º Crear plantilla XSL : una por cada fragmento a formatear Match “nodo a partir del cual se aplica la transformación” Path : rutas de nodos, texto y atributos Query : selects Fo : formato de cada plantilla : margin, padding, etc…
5 Estructura XSL
6 Convertir XML en PDF utilizando Doc Book, XSL-FO y FOPDoc Book: predefine las etiquetas y la estructura de un documento XML para ser Doc Book. Es una DTD predefinida. Artículos divididos en secciones. Libros divididos en capítulos. DTD y esquema. EXTENSIÓN “.xml” SUBLENGUAJE XML
7 <. ELEMENT article (((title|titleabbrev|subtitle). , (info)
8 Convertir XML en PDF utilizando Doc Book, XSL-FO y FOPXSL-FO: lenguaje de objetos de formateo XSL para generar documentos en formato PDF a partir de nuestros documentos XML. Las características de la página. Los párrafos. Las listas. Las tablas. Los enlaces. etc. EXTENSIÓN “.fo” o dentro de una plantilla de XSL
9 XSL-FO Páginas y Regiones
10 XSL-FO Bloques de contenido Output"Blocks" of content "Flow" into "Pages" of the output media. XSL-FO output is normally nested inside
11 Convertir XML en PDF utilizando Doc Book, XSL-FO y FOPFOP: El FOP (Formatting Object to PDF) es el primer procesador de objetos de formateo XSL que apareció. Empezó a ser desarrollada en solitario por James Tauber pero posteriormente se incorporo al "Apache XML Project" lo que está acelerando su desarrollo. versión: Fop DEV-src.zip que se puede obtener en la siguiente dirección: Prerrequisitos Como ya hemos dicho es una aplicación en Java por lo que para poder utilizarla el único requisito necesario es tener instalado la máquina virtual Java.
12 Convertir XML en PDF utilizando Doc Book, XSL-FO y FOPA partir de aquí tenemos dos posibilidades: Generar el PDF en dos pasos: Transformar el fichero gastrono.xml el formato XSL-FO mediante la XSLT anterior y cualquier procesador XSLT. Si por ejemplo utilizamos el XT xt articulo.xml articulo.xsl articulo.fo Transformar el resultado a PDF utilizando el FOP como ya sabemos: Fop articulo.fo articulopdf.pdf O generarlo en un único paso utilizando el FOP de la siguiente manera: Fop -xsl articulo.xsl -xml articulo.xml -pdf articulopdf.pdf
13 Usando FOP de Apache para realizar transformacionesD:\1ASIR\XML\fop-1.1-src\fop- 1.1\src\java\org\apache\fop\tools\anttasks
14 Usando FOP de Apache para realizar transformaciones
15 Resultado
16 ANEXO Proceso PrerequisitosComo ya hemos dicho es una aplicación en Java por lo que para poder utilizarla el único requisito necesario es tener instalado la máquina virtual Java. basta con el Java 1.1.x o superior. como mínimo la versión del JDK, ya que para las versiones 1.1.x hay algunos ejemplos que dan problemas. Instalación descomprimir el fichero crea una gran cantidad de directorios con todo lo necesario para empezar a trabajar y ver su funcionamiento: ejemplos, documentación, ficheros bat, etc.
17 ANEXO Proceso FuncionamientoPara probar que todo nos funciona correctamente podemos realizar los siguientes pasos: Dentro de la carpeta raiz del FOP, mediante el intérprete de comandos nos situamos en el archivo fop Si todo el proceso anterior ha funcionado correctamente significara que ya tenemos todo perfectamente instalado para trabajar con el FOP. Y para convertir nuestro documento hola.fo, lo colocamos en el directorio raiz de la aplicación y ejecutamos el fichero Fop.bat de la siguiente manera: Fop hola.fo hola.pdf Lo cual nos genera el siguiente fichero PDF: Hola.fo en formato PDF
18 ANEXO Proceso Pero con la anterior expresión sólo hemos ejecutado la opción más sencilla que nos ofrece la aplicación. También podríamos utilizar el FOP directamente como browser de ficheros XSL-FO. No tendríamos más que ejecutar el comando anterior de la siguiente manera: Fop hola.fo -awt Obteniendo el siguiente resultado: Hola.fo visualizado en browser del FOP. También podríamos convertir al formato MIF, TXT, etc. Para terminar esta sección simplemente un comentario. Es importante que os fijéis que el documento PDF lo hemos generado directamente desde el fichero hola.fo. Para el ejemplo lo he escrito directamente a mano. Pero como ya he dicho anteriormente se trata de un fichero XML que podríamos haber generado desde otro fichero XML mediante una XSLT. Es decir, la conversión de nuestro XML original a PDF hubiese constado de dos partes: Conversión XML original a XSL-FO mediante XSLT y un procesador XSLT. Conversión de XSL-FO a PDF mediante el procesador FOP. El FOP nos permite también realizar esta acción en un único paso (el FOP lleva incorporado el procesador XSLT Xalan). Si suponemos que nuestro documento inicial se llama hola.xml, mediante la siguiente instrucción lo hubiesemos podido realizar: Fop -xsl hola.xsl -xml hola.xml -pdf hola.pdf
19 Fuentes de inspiraciónXML : Manual Imprescindible. Juan Diego Gutiérrez Gallardo. Anaya Multimedia (2005) fo_y_fop_73