Convertir xml en pdf utilizando xsl

Solo disponible en BuenasTareas
  • Páginas : 16 (3785 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de enero de 2011
Leer documento completo
Vista previa del texto
Convertir XML en PDF utilizando XSL-FO y FOP
Autor: Joaquin Bravo Montero
1 . XSL
2 . XSL-FO (Objetos de Formateo)
3 . Procesadores XSL-FO
4 . FOP
    4.1 . Prerequisitos
    4.2 . Instalacion
    4.3 . Funcionamiento
5 . Generando nuestro documento XML en formato PDF
6 . Direcciones
En este artículo vamos a ver como podemos utilizar el FOP y el lenguaje de objetos de formateo XSL-FOpara generar documentos en formato PDF a partir de nuestros documentos XML.
XSL
La XSL es una especificación desarrollada dentro del W3c para aplicar formato a los documentos XML de forma estandarizada. La XSL es un lenguaje para escribir hojas de estilo que consta de dos partes:
• XSLT, que es un lenguaje de transformación, mediante el cual se puede transformar un documento XML en otro XML.• XSL-FO, un lenguaje de formateo, que no es más que un vocabulario XML para especificar objetos de formateo (FO).
El lenguaje XSLT ya es más que conocido (es una recomendación del W3C desde el 16 Noviembre 1999) y en estas páginas de Programación en castellano ya le hemos dedicado algunos artículos en los que hemos explicado como utilizarlo para por ejemplo generar HTML o SVG.
Por tantoen este artículo vamos a centrarnos en el lenguaje XSL-FO (candidato a recomendación desde el 21 de Noviembre del 2000) y sobre todo en como utilizar una aplicación denominada FOP mediante la cual podremos convertir nuestros documentos XML en formato PDF.
XSL-FO (Objetos de Formateo)
Mediante los objetos de formateo (Formatting Objects -FO-) y sus propiedades podemos describir cómo se van avisualizar los componentes de un documento. Con estos objetos definimos:
• Las características de la página.
• Los párrafos.
• Las listas.
• Las tablas.
• Los enlaces.
• etc.
La especificación XSL indica el vocabulario XML que define estos objetos de formateo.
El siguiente código [pic]hola.fo es un pequeño ejemplo de fichero XSL-FO:Mi primer XSL-FO



Hola este es mi primer XSL-FO.





En el que podemos observar:
• Que se trata de un vocabulario XML, en el que todos los elementos van precedidos del namespace 'fo', y que por tanto al escribir el elemento raiz del documento XML debemos declararlo de la siguiente manera:• Que esta formado por un conjunto de elementos: fo:simple-page-master, fo:flow, fo:block, etc. mediante los cuales y sus propiedades (definidas en los atributos): font-size, font-family, etc. describimos como se visualizan de forma genérica los componentes de un documento. La especificación define por tanto todos estos elementos y sus propiedades y como deben expresarse mediante unvocabulario XML.
Procesadores XSL-FO
Un procesador XSL es la aplicación que procesa un documento XML compuesto de XSL-FOS y lo presenta de manera que una persona lo pueda leer facilmente.
[pic]
En los últimos meses han sido muchos los procesadores de XSL-FO que han aparecido. Estos son algunos de los más significativos:
• XEP, desarrollado por RenderX. Es sin duda alguna el más avanzado. El únicoinconveniente es que se trata de una aplicación comercial aunque nos podemos bajar una versión demo evidentemente limitada en sus funcionalidades. Es recomendable darse una vuelta por su Web y visulizar los espectaculares ejemplos que han desarrollado. En Java.
• PassiveTex. Es una librería de macros en Tex que pueden ser usadas para procesar documentos XML formados por XSL-FO. EjecutandoPassiveTex con pdfTex se pueden generar facilmente documentos PDF. Lo mejor de estas librerias es el buen soporte para MathML que poseen.
• XSL Formatter, de Antenna House Inc. Consiste en un procesador de XSL-FO acompañado de un interfaz de usuario. Necesita la MSXML3.0 como procesador de XSLT y funciona sobre plataforma Windows.
• Unicorn Formatting Objects (UFO), que es un procesador de...
tracking img