Aclaración: ¿Qué es XSL-FO?

2.12.08. Por ooscarr (ooscarr)

Encuentro en Internet una clarificadora definición de XSL-FO para entender las bases de esta tecnología.

En resumen, el XML fuente se transforma con XSLT al formato XSL-FO para ser interpretado por algún transformador como FOP, Saxon, Sablotron, Libxslt o Xalan-J, etc. XSL-FO es simplemente el penúltimo paso para que el transformador lo convierta a un binario como PDF, SVG, PNG, RTF, OpenDocument, Excel, etc. Si vamos a convertir el XML a HTML que es otro formato tipo XML, no es necesario, con el XSLT basta.

Primero que todo, déjame hacer una diferencia entre XSL y XSLT. Como con las recomendaciones del W3C, XSL = XSL Transformations (XSLT) + vocabulario XSL-FO.

XSLT es lenguaje de transformación XML, con salidas en formato (output): XML, HTML y text predefinidas. El caso de HTML es simple - debido a la ubicuidad de los web browsers es sólo simple transformación de XML a HTML

XML → transformación → HTML

Pero debido a que el PDF es formato de datos binario no basado en etiquetas no es feasiblle generar PDF con XSLT (puede ser sólo los documentos PDF más simples).

Eso es por diseño, hay que recordar que XSLT es Lenguaje de Transformación XML. Por eso han creado XSL-FO (otro descendiente de DSSSL, el cual era (y es) de hecho XPath + XSLT + XSL-FO todo en uno).

La idea de XSL es permitir producir presentación de documento de alta calidad (generalmente uno impreso) expresando semánticas de presentación en XSL-FO y después formateando el XSL-FO a una presentación específica de dispositivo, ver [1]. Así que hay un jugador más en este escenario - XSL-FO formatter, el cual da formato (y a veces renderiza) XSL-FO.

El escenario usual es

XML → transformación (XSLT) → XSL-FOformatterPDF

Pero ese no es el único escenario. Teniendo generadores de formato basados en interfaz gráfica como AntennaHouse XSL formatter puede ser

XML → transformación (XSLT) → XSL-FO → pantalla

De otro modo es posible

XML → transformación (XSLT) → XSL-FOformatter → impresora

Otro interesante nuevo alcance podría ser

XML → transformation (XSLT) → XSL-FO → transformación (XSLT) → WordML (para Microsoft Word 2003)

  1. http://www.w3.org/TR/xsl/slice1.html...n-and-Overview
Oleg Tkachenko
http://www.tkachenko.com/blog
Multiconn Technologies, Israel

O también:

XML → transformation (XSLT) → XSL-FO → transformación (XSLT) → OpenDocument

Lo encontré en

Etiquetas:

0 comentarios (RSS ATOM) :

Página principal

Publicidad