XSL Formatting Objects
Un documento XSL-FO es un documento XML en el que se especifica cómo se van a formatear unos datos para presentarlos en pantalla, papel u otros medios. El significado de las siglas XSL-FO es eXtensible Stylesheet Language Formatting Objects. Hay que destacar que en el documento XSL-FO figuran tanto los datos como el formato que se les va a aplicar.
La unidad básica de trabajo en un documento XSL-FO es el "Formating Object", unidad básica para presentar (formatear) la información. Estos objetos de formato se refieren a páginas, párrafos, tablas, etc.
Este es un breve ejemplo de documento XSL-FO:
<?xml version="1.0" encoding="utf-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="hola"
page-height="29.7cm"
page-width="21cm"
margin-top="5mm"
margin-bottom="10mm"
margin-left="20mm"
margin-right="20mm">
<fo:region-body margin-top="10mm" margin-bottom="10mm" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="hola">
<fo:flow>
<fo:block>Hola, mundo</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
Para obtener el documento XSL-FO pueden seguirse dos vías:
- Generarlo directamente a partir de los datos. El documento XSL-FO contiene las especificaciones de formato y los propios datos.
- Transformar un documento XML que contenga los datos a presentar con una hoja de estilos XSLT. De esta forma los datos (XML) se independizan del formato que proporcionará la hoja de transformación XSLT.
Cuando se tiene el documento XSL-FO, puede ser procesado por un programa llamado "procesador de XSL-FO" para obtener el documento final en distintos formatos. El formato final más utilizado es el PDF.
Los procesadores XSL-FO libres más conocidos son FOP y PassiveTeX.
XSL-FO es una recomendación del World Wide Web Consortium. El nombre oficial de la recomendación es Extensible Stylesheet Language (XSL) y no XSL-FO.
Véase también
Enlaces externos
- W3C Recommendation (v. 1.0 15-10-2001)
- Tutorial (en Castellano)
- XSL-FO introduction and examples (en inglés)
- XSL-FO Tutorial and Examples (en inglés)
- XSL-FO Tutorial (en inglés)
- Tutorial de Formatting Objects
- Visual XSL-FO Editor (en inglés)
- XSL-FO Tutorial and Samples (en inglés)