La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · www.captiva.es eXtensible Stylesheet Language Formatting Objects.

Presentaciones similares


Presentación del tema: "Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · www.captiva.es eXtensible Stylesheet Language Formatting Objects."— Transcripción de la presentación:

1 Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · www.captiva.es eXtensible Stylesheet Language Formatting Objects

2 Introducción  XSL Formatting Objects  Aplicación desarrollada enteramente en XML.  Permite describir de forma precisa la posición del texto en una página  Orientado a impresión.  Define elementos que representan: páginas, bloques de texto dentro de las páginas, gráficos, reglas horizontales, etc.  Normalmente no se escribe XSLFO directamente sino que se escriben hojas de estilo XSLT que transforman un documento nativo XML en XSLFO.

3 Introducción (II)  XSL Formatting Objects  Finalmente la aplicación de renderizado lee XSLFO y la presenta al usuario.  Debido a que la mayoría de los navegadores no soporta renderizar directamente XSLFO, es necesario un procesamiento de transformación adicional:  XSLFO a PDF.  XSLFO a TEX.  …

4 Introducción (III) XML XSL Procesador XSLT Procesador XSLT TEX XSLFO Procesador XSLFO

5 Documento XSLFO  Un documento XSL-FO es un documento XML con información de salida, que contiene tanto información de composición de la salida como información de contenido.  Un documento XSL-FO se puede almacenar con extensión.fo,.fob o incluso también.xml, para facilitar su acceso a los editores XML.

6 Estructura documento XSLFO  Elemento raíz: fo:root   Plantillas de páginas: fo:layout-master-set  Contiene uno o más elementos con la configuración de las diferentes plantillas de páginas.  Incluye información de tamaño de página, posición, márgenes, etc.  Contenido de las páginas: fo:page-sequence  Uno o más elementos con información de contenido e instrucciones de formato.  Cada elemento referencia a una plantilla definida anteriormente en el elemento fo:layout-master-set.

7  Ejemplo documento XSLFO:  Estructura documento XSLFO (II) Plantillas de páginas Contenido de páginas

8 Plantillas de páginas  XSLFO define únicamente un tipo de plantilla:  Elemento fo:simple-page-master  Representa una página rectangular estándar con márgenes en los cuatro lados.  Tiene un único nombre (atributo: master-name ).  Atributos que definen el tamaño de la página y de los márgenes:

9  La plantilla define 5 regiones dentro de una página:  region-start, region-end, region- before, region-after y region-body.  Su disposición en la página depende del sistema de escritura, que puede ser occidental, hebreo, chino y otras posibles combinaciones. Plantillas de páginas (II)

10 Sistema de escritura occidental: de izquierda a derecha y de arriba a abajo

11  fo:region-body obligatorio, el resto opcionales.  Por defecto una página únicamente contiene la región body.  En caso de especificar regiones de tipo start, end, before o after es necesario indicar su correspondiente anchura o altura mediante el atributo “extent” y especificar los márgenes de la region body “margin-top”, “margin-left”, etc para que no se solapen. Plantillas de páginas (III)

12 Flujo de contenido  Cada elemento fo:page-sequence indica mediante el atributo “ master-reference ” la plantilla de página que se va a utilizar en la composición del documento.  Habrá tantos elementos fo:page-sequence como secuencias de páginas con diferentes plantillas de página.  Dentro de un elemento fo:page-sequence la información de contenido y de composición fluye a través de elementos fo:flow.

13 Flujo de contenido  Cada elemento fo:flow dentro de una secuencia de páginas indica mediante el atributo “ flow-name ” la region dentro de la página donde incluir el contenido.  El contenido de las páginas se organiza en forma de bloques mediante elementos fo:block anidados dentro de elementos fo:flow.  El SW de formateo va rellenando páginas con la información de contenido de los elementos contenidos dentro del elemento fo:flow. Cuando una página se completa se utiliza una y otra vez la misma plantilla hasta que todo el texto queda impreso.

14  Contiene elementos de formateo a nivel de bloque.  fo:block elemento básico.  Otros: fo:block-container, fo:list-block (listas), fo:table, fo:table-and-caption (tablas), etc.  fo:block puede contener texto o elementos de formateo de objetos: fo:external-graphic, fo:inline, fo:page-number, fo:footnote e incluso nuevos elementos fo:block. Flujo de contenido

15 Bloques XSLFO  XSLFO define una serie de áreas rectangulares o cajas (boxes).  Áreas de tipo bloque, línea, áreas dentro de línea, etc.  Las áreas de tipo bloque o dentro de línea se definen mediante elementos XSLFO, mientras que las de tipo línea son generadas por el formateador según son necesarias.  El motor de renderización normalmente decide automáticamente el lugar y tamaño de las diferentes áreas que componen el documento.  Sin embargo siempre se pueden definir propiedades de posición tanto relativa como absoluta, de tamaño, de separación, etc. dentro de una página.  Por defecto las áreas no se solapan, aunque se puede forzar para que ocurra.

16  Por cada caja o área se distinguen una serie de zonas: Contenido Margen Borde Relleno Contenido Bloques XSLFO (II)

17  A partir de aquí XSLFO se convierte en un lenguaje de descripción y composición de salida al igual que lo puede ser HTML, LATEX, etc.  Con gran variedad de elementos (tablas, listas, símbolos, etc.) y atributos (márgenes, estilos, colores, etc.) Bloques XSLFO (III)

18  Existen multitud de propiedades de formateo con la misma sintaxis que en CSS  Las propiedades se pueden aplicar a los bloques o cualquier elemento  Son heredadas en elementos descendientes  Ejemplo de clase CSS: dish { display: block; font-family: Helvetica, Arial, sans-serif; font-size: 20pt; font-weight: bold; text-align: center }  Equivalente aplicado a un bloque renderizado desde template XSLT: <fo:block font-family="Helvetica, Arial, sans-serif" font-size="20pt" font-weight="bold" text-align="center"> Propiedades

19  En algunas ocasiones las propiedades de CSS se traducen en elementos FO  El ejemplo son las listas. Los elementos necesarios para formar una lista son: • Primer elemento • Segundo elemento Propiedades (II)

20  Un procesador XSLFO es un programa que formatea documentos XSLFO generando una salida.  La mayoría de los procesadores XSLFO permiten transformar a formatos PDF y formatos de calidad de impresión así como otros tipos de formatos, incluso HTML.  También existen IDEs que permiten diseñar composiciones de salida de manera gráfica generando los elementos XSLFO automáticamente.  XSL Formatter, Scriptura, XMLSpy, Stylus Studio, etc. Procesadores XSLFO

21  Partiremos de ejemploFO.xsl y lo modificaremos para que sólo nos saque con formato “ principal ” el primer capítulo y el resto con formato “ apaisada2columnas ”  Adecentaremos primero el código definiendo dos variables globales “ fragmentoEncabezado ” y “ fragmentoPie ” que contengan respectivamente los elementos   Igualmente crearemos un template para “ parrafo ” extrayendo su contenido fuera  Para indicar a qué tipo de página asociamos cada page-sequence dentro del template del capítulo usaremos una variable local “ tipoPaginaCuerpo ” Ejercicio


Descargar ppt "Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · www.captiva.es eXtensible Stylesheet Language Formatting Objects."

Presentaciones similares


Anuncios Google