Introducción a XSL-FO


  • Por qué y para qué
    • El problema: Cómo representar en un formato impreso la información contenida en un documento XML
  • Conceptos
    • Diferencias entre HTML y FO
      • Páginación
        • En la Web, cada documento tiene una sola página muy larga
        • En los medios impresos, la salida se divide en páginas de igual tamaño
      • Posición

        • En la Web lo normal es que las posiciones siempre sean relativas
        • En un medio impreso, muchos elementos deben tener posiciones absolutas
      • Medio
        • En la Web no se conocen de antemano las características del medio de salida (tamaño, colores, resolución, etc)

          En un medio impreso, el tamaño de las páginas está unido al documento

    • El documento se compone de Secuencias de Páginas (page-sequence)
    • Cada página en el documento tiene un diseño (master-template)

      Una página contiene regiones

      • •region-body (cuerpo de la página)
      • •region-before (encabezado)
      • •region-after (pie de página)
      • •region-start (barra lateral izquierda)
      • •region-end (barra lateral derecha)
    • Un flujo se asigna a una región
    • + – Una región contiene áreas
      • Block Areas: Párrafos
      • Line Areas: Lineas
      • Inline Areas: Areas dentro de una línea
  • La Práctica
    • 1. Archivos requeridos
      • 1. Descargue Apache FOP desde http://www.apache.org/dyn/closer.cgi/xmlgraphics/fop
      • 2. Extraiga los archivos en el disco duro
      • 3. Descargue los ejemplos desde http://bitlab.com.co/semillero/fo

      2. Explore los ejemplos y aproveche los comentarios para aprender el significado de cada elemento

      • vacia.fo: Una pagina que muestra un mensaje simple
      • flow.fo: Funcionamiento del flujo del texto
      • areas.fo: Ubicacion de las diferentes regiones de la pagina y las areas de texto dentro de estas
      • tablas.fo: Ejemplo del uso de tablas

      3 Pruebe los ejemplos ejecutando el comando: fop -awt -fo (asegurese de estar ubicado en la carpeta donde quedo instalado FOP)

      4 Explore el ejemplo de como crear un documento XSL-FO usando una transformación fo-HVConHabilidades.xslt

      5 Pruebe la transformacion con el comando: fop -awt -xml williamvelasquez.xml -xsl FO-HVConHabilidades.xslt

      Si desea ver como se crea visualmente un archivo FO, descargue MiniScribus desde http://sourceforge.net/projects/wysiwyg-edit/

      También puede probar la versión Trial de Altova StyleVision http://www.altova.com/download-stylevision.html

  • Para saber más
Posted in Uncategorized | Leave a comment

Resumen de Transformaciones XSLT

Transformaciones XML

  • Por qué y para qué
    • Una vez la información está representada en XML, hace falta transformarla en otras representaciones (HTML, PDF, Office, Texto Plano)

      Incluso en algunas ocasiones, hay que transformar de un Esquema XML a otro

      Si XMLes un estándar, es de esperar que también haya un estándar para transformarlo a otras representaciones

      La principal característica de diseño de XML es que separa el la información de su representación, así que a un documento XML siempre le hará falta agregarle instruccones para representarlo

  • Conceptos
    • El eXtensible Stylesheet Language XSL es un estándar para transformar un documento XML en otros formatos, sean o no basados en XML

      Sus cuatro usos principales son:

      • Transformar de un esquema XML a otro
      • Generar HTML para la Web
      • Generar XSL-FO para documentos electrónicos
      • Generar archivos planos para sistemas antiguos

      Se basa en hojas de estilos (Stylesheets) que contienen plantillas (templates) con las reglas de transformación para los elementos del documento

      Es un lenguaje declarativo, no procedimental, por lo que no puede garantizarse un orden de ejecución particular, solo se garantiza que se apliquen ciertas reglas

      Hay dos versiones de XSL (1.0 y 2.0) la 1.0 es la única que es soportada por todos los navegadores actualmente

  • Lo que hay que saber
    • Cada hoja de estilo XSLT es un documento XML

      El namespace debe ser: http://www.w3.org/1999/XSL/Transform

      Si el prefijo es xsl, el elemento raíz debe ser o

      El elemento raíz debe tener el atributo version=”1.0″ (o version=”2.0″ para XSLT 2.0)

      Debe incluir al menos un elemento que se aplica a todo el documento

      El documento a transformar debe incluir el processing.instruction: donde stylesheet.xsl es la ubicacion de la hoja de estilos

  • La Práctica
  • Para saber más
Posted in XML, XSLT | Leave a comment

Resumen clase XPath

Les adjunto un resumen de la clase de XPath.

Para quienes no estuvieron en la clase, les recomiendo ver unos de estos  tutoriales:

http://w3schools.com/xpath/default.asp

http://geneura.ugr.es/~victor/cursillos/xml/XPath/

Posted in Uncategorized, XML | Tagged | Leave a comment

XMLPad: Editor Gratuito de XML

Para todos los que no cuenten con Altova, Visual Studio o alguna otra herramienta para crear sus esquemas XML visualmente, hay una herramienta muy buena gratuita que se llama XMLPad.

Pueden descargarla desde: http://www.wmhelp.com/xmlpad3.htm

 

Posted in Uncategorized, XML | Tagged | Leave a comment

Material Segunda Clase: Esquemas

De esta clase quedamos con una tarea: desarrollar un Esquema para representar una hoja de vida y usarlo para representar su propia hoja de vida.

Si bien cada uno de ustedes puede (y debe)  crear el esquema según su propio criterio, principalmente para practicar la creación de Esquemas XML, voy a darles mi propio esquema para que tomen ideas y las apliquen en el suyo propio.

Aqui está el Esquema y Documento Hoja de Vida

Adicionalemente, les será muy útiles los siguientes documentos que son una referencia resumida de las Estructuras y Tipos de Datos de XML Schema:

Los documentos provienen de http://www.xml.dvint.com/

Posted in Uncategorized, XML | Tagged | Leave a comment

Contenido del semillero y primeras presentaciones

Saludos estudiantes,

Aqui está para ustedes:

El contenido de cada clase del Semillero puede variar un poco de acuerdo al tiempo y el cumplimiento de los contenidos.

Recuerden registrarse en la página para poder hacer comentarios y recibir actualizaciones por correo electrónico cada vez que se publique contenido nuevo.

Seguiremos en Contacto…

 

Posted in Uncategorized, XML | Leave a comment

Material para la primera Clase

Para esta primera clase vamos a necesitar XMLUtils, una colección de aplicaciones para manipular XML escritas en Java.

Requiere JRE 1.3 o superior instalado.

Posted in Uncategorized, XML | Leave a comment