Aplicando Transformações
em XML usando XSLT e
XSL-FO
Ms Vivian Genaro Motti
Profª Drª Maria da Graça Pimentel
Prof Dr Rudinei Goularte
Ilhéus, maio de 2009.
ERBASE
 Parte I: XML, conceitos e definições
 Parte II: XSD, XSL, X-PATH
 Parte III: CSS, XSL-T, XSL-FO
 Parte IV: XSL-FO (Formatting
Objects)
XSL-FO: Sumário
 Definição
 XSL-FO x CSS
 Vocabulário
 Ferramenta
 Exemplos
 Referências
FOP
 Aplicação Java de código aberto
 Provê vários formatos de saída: PDF,
PostScript, SVG...
 Lê FOs e os renderiza
 A área delimitada por fo:root é
renderizada pelo FOP
Processamento FOP
Arquivo XSL-FO
 Instrução padrão de processamento
de XML
<?xml version="1.0" encoding="utf-8"?>
<fo:root>
 Conjunto principal do layout
 descrição dos tipos de páginas
 sequências nas quais estes formatos de
páginas podem ocorrer
 As páginas e seus conteúdos
Layout das Páginas
Quais tipos de páginas
o documento pode ter?
3 exemplos
capa esquerda direita
Especificar:

altura

largura

margens
Layout das Páginas (I)
Layout das Páginas (II)
Layout das Páginas (III)
Resultado
Layout das Páginas
Unidades

px

pt

mm

cm

em

in
Especificação

simple-page-master
Referência

master-name
Margens

Regiões sem saída impressa
Áreas de conteúdo da página
Layout das Páginas
Direções
FO considera que uma página é composta por 2 elementos:

Elementos Block: parágrafos que começam em uma nova
linha

Elementos Inline: negrito, itálico
Block progress direction

Ordem na qual os parágrafos se posicionam na página
Independente de linguagem
Layout das Páginas
Estrutura FO

fo:root tem um fo:layout-master-set e um fo:page-
sequence

fo:layout-master-set tem fo:simple-page-master

fo:simple-page-master descreve o layout da página

master-name define o nome do layout

fo:page-sequence tem fo:flow e indica como
colocar conteúdo em um master page

master-reference indica a master page a ser
utilizada

fo:flow tem elementos fo:block (neste exemplo),
que indicam conteúdo a ser colocado na página
Layout das Páginas
 As margens do region-body devem ser
maiores ou iguais aos extents do region-
before e region-after para evitar
sobreposições do tipo:
Page Sequences
 Especificar a ordem de uso dos tipos de páginas
 Dois tipos
 Capa
 Conteúdo: alternância esquerda, direita
Page Sequences
 Documentos sem ser frente-e-verso com
restrição de páginas
 Capa
 Conteúdo: alternância esquerda, direita
 Atributo maximum-repeats também pode ser
aplicado em repeatable-page-master-alternatives
 Função: limitar o número de páginas geradas
pela sequência
Capa
 Especificar
 qual sequência de páginas será usada
 em qual região a informação deve estar
Capa
40) Especifica a sequência de páginas para o
conteúdo
41) O conteúdo seguinte vai para a área xsl-
region-body da página
42-44) Este conteúdo vai em uma nova linha
conforme especificações
45-48) Outro bloco para a mensagem de
copyright (com fonte diferente e space-after)
49) Outro bloco: informação da publicação
52-53) Fim do conteúdo desta página
Gerando o PDF
 Para renderizar a página para impressão
 Download do software da Apache FOP
(Formatting Objects Processor)
 Formatador para XSL-FO, aplicação Java que
renderiza a página gerando a saída
especificada
http://xmlgraphics.apache.org/fop
/
Gerando o PDF
 Saídas
 PDF, PS, XML, PNG, RTF, SVG, AWT, MIF,
TXT
 Vantagem do XSL-FO
• a entrada é um arquivo XML que pode ser criado
de várias fontes
 Método mais comum
 Converter XML semântico para XSL-FO
usando XSLT
Requisitos
 Java 1.1x
 Parser XML que suporte SAX ou DOM
 Parser XSLT
 Biblioteca SVG (do arquivo w3c.jar do FOP)
 Script
 Fop livro.fo livro.pdf
 Produz o arquivo PDF
 Visualizador de PDF
Adicionando Gráficos
 O comando external-graphic tem o
atributo src com a URI da imagem
Adicionando Linha e Paginação
 O objeto leader tem o
atributo leader-pattern e
leader-length com o tipo e o
tamanho
 O objeto page-number
exibe o número de página
Adicionando texto em bloco
 O objeto block tem os
atributos font-size e font-family
com o tamanho e a fonte, text-
align com o alinhamento do
texto e line-heigth e space-
after.optimum
Adicionando lista de itens
Listas
XSL-FO List Blocks
 Quatro elementos
 fo:list-block (contém a lista toda)
 fo:list-item (contém cada item da lista)
 fo:list-item-label (contém o rótulo para o
item da lista – em geral um <fo:block>
com número ou caractere)
 fo:list-item-body (com o conteúdo do item
da lista – em geral um ou mais objetos
<fo:block>)
Adicionando bordas ao bloco
 O objeto fo-block tem
os atributos para
configuração da borda
Adicionando link e cor ao fundo
 O objeto fo-block
tem os atributos para
cor de fundo e
fo:basic-link para
links
Adicionando tabela
Tabelas: fo:table-and-caption
Nove objetos do XSL-FO são usados para criar
tabelas:
 fo:table-and-caption
 fo:table
 fo:table-caption
 fo:table-column *
 fo:table-header *
 fo:table-footer *
 fo:table-body *
 fo:table-row
 fo:table-cell
* elementos opcionais
Adicionando nota de rodapé
Adicionando coluna dupla
Formatting Objects
fo:basic-link
fo:bidi-override
fo:block
fo:block-container
fo:character
fo:color-profile
fo:conditional-page-master-reference
fo:declarations
fo:external-graphic
fo:float
fo:flow
fo:footnote
fo:footnote-body
fo:initial-property-set
fo:inline
fo:inline-container
fo:instream-foreign-object
fo:layout-master-set
fo:leader
fo:list-block
fo:list-item
fo:list-item-body
fo:list-item-label
fo:marker
fo:multi-case
fo:multi-properties
fo:multi-property-set
fo:multi-switch
fo:multi-toggle
fo:page-number
fo:page-number-citation
fo:page-sequence
fo:page-sequence-master
fo:region-after
fo:region-before
fo:region-body
fo:region-end
fo:region-start
fo:repeatable-page-master-alternatives
fo:repeatable-page-master-reference
fo:retrieve-marker
fo:root
fo:simple-page-master
fo:single-page-master-reference
fo:static-content
fo:table
fo:table-and-caption
fo:table-body
fo:table-caption
fo:table-cell
fo:table-column
fo:table-footer
fo:table-header
fo:table-row
fo:title
fo:wrapper
Considerações Importantes
 XSL-FO
 Especifica o layout de apresentação de
um documento XML
 Permite diferentes formatos de saída
 Diferenciais
 Configurar direção do texto
 Especificar modelos de layout
Considerações Finais
 XML é uma linguagem relativamente
simples
 Permite intercâmbio de dados entre
diferentes plataformas e tecnologias
 XSL-FO é um recurso para
estruturas a apresentação e gerar
aplicações XML
Referências
[AH, 1996] Antenna House. Disponível em: http://www.
antennahouse.com/
[DOM, 2005] Especificação W3C do XML DOM. Disponível
em: http://www.w3.org/DOM/
[DOM, 2009] Tutorial sobre XML DOM. Disponível em: http://
www.w3schools.com/dom/default.asp
[FO, 2001] Disponível em:
http://www.xml.com/pub/a/2001/01/24/xsl-fo/index.html ?
page=1
[FO, 2002] Printing from XML: An Introduction to XSL-FO.
Disponível em:
http://www.xml.com/pub/a/2002/10/09/xslfo.html
Referências
[FO, 2009] Tutorial da W3C sobre XSL-FO. Disponível em
http://www.w3schools.com/xslfo/
[FOP, 2009] Processador de FO. Disponível em: http://
xmlgraphics.apache.org/fop/
[FO W3C, 2000] Formatting Objects W3C Candidate
Recommendation. Disponível em:
http://www.w3.org/TR/2000/CR-xsl-20001121/slice6.html#fo-
section
[Goldfarb and Prescod, 1998] Goldfarb, C. and Prescod P. The
XML handbook. Prentice Hall. 1998.
[Namespaces, 2006] Namespaces in XML 1.0. Disponível em:
http://www.w3.org/TR/xml-names/
Referências
[PT, 1999] Passive Tex. Disponível em: http://www.ibiblio.org/
bosak/conf/xmldev99/rahtz/passivetex.html
[Pitts-Moultis and Kirk, 2000] Pitts-Moultis, N. and Kirk, C.
XML Black Book. Makron Books. 2000.
[RenderX, 2005] RenderX. Disponível em: http://www.renderx
.com/
[SAX, 2000] Projeto SAX. Disponível em: http://www.
saxproject.org/
[Schema, 2001] XML Schema. Disponível em:
http://www.w3.org/XML/Schema
Referências
[Schema, 2001] Tutorial sobre XML Schema. Disponível em:
http://www.w3schools.com/schema/
[SMIL, 1998] SMIL (Standard Multimedia Integration
Language), disponível em: http://www.w3.org
/TR/1998/TR/1998/PR-smil-19980409/
[Spencer, 1999] Spencer, P. XML Design and Implementation.
Wrox Press Ltda. 1999.
[XML, 2009] Tutorial sobre XML da W3C. Disponível em:
http://www.w3schools.com/xml/
[XPath, 1999] Definição de XPath disponível em: http
://www.w3.org/TR/xpath
Referências
[XPath, 2009] Tutorial sobre XPath disponível em: http
://www.w3schools.com/xpath/
[XSL, 2009] Tutorial sobre XSL da W3C. Disponível em:http
://www.w3schools.com/Xsl/xsl_languages.asp
[XSL-FO, 2001] Using XSL Formatting Objects. Disponível em:
http://www.xml.com/pub/a/2001/01/17/xsl-fo/index.html
[XSL W3C, 2009] Definição de XSL disponível em: http
://www.w3.org/Style/XSL/
[XSLT, 2009] Tutorial da W3C sobre XSLT. Disponível em:
http://www.w3schools.com/xsl/
Referências
http://www.xml.com/pub/a/2002/10/09/xslfo.html
http://www.xml.com/pub/a/2001/01/24/xsl-
fo/index.html ?page=1
http://www.w3schools.com/xslfo/xslfo_intro.asp
http://xmlgraphics.apache.org/fop/
http://www.w3.org/TR/2000/CR-
xsl-20001121/slice6.html#fo-section

Mais conteúdo relacionado

PDF
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
PDF
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
PDF
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
PPT
Banco de Dados XML
PDF
XML e Banco de Dados XML Nativo
PPTX
eXtensible Markup Language (XML)
PDF
XML: Uma Introdução Prática (2001)
PPT
XML - eXtensible Markup Language
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Banco de Dados XML
XML e Banco de Dados XML Nativo
eXtensible Markup Language (XML)
XML: Uma Introdução Prática (2001)
XML - eXtensible Markup Language

Mais procurados (20)

PDF
XML & HTML
PPT
Conceitos de xml
PDF
Aula Introdução a Linguagem XML
PPTX
XML - Introdução
PDF
01- Introdução ao XML
PDF
Oracle XML DB - Conceitos iniciais
PPSX
Linguagem SQL
PDF
Oracle XML DB
PDF
Xml pucminas2013
PDF
XML Schema (2002)
PPTX
Parte5 xml
PDF
Aula de DTD Definição do Tipo de Documento
PPTX
Aplicativo aula04
PPTX
XSL, XSL-FO e XSLT + XPath
PPT
1ª aula php
PDF
Apostila xml
PDF
DOC
Pro php and xml web services xml canonical
PPS
I Series 400 Query
XML & HTML
Conceitos de xml
Aula Introdução a Linguagem XML
XML - Introdução
01- Introdução ao XML
Oracle XML DB - Conceitos iniciais
Linguagem SQL
Oracle XML DB
Xml pucminas2013
XML Schema (2002)
Parte5 xml
Aula de DTD Definição do Tipo de Documento
Aplicativo aula04
XSL, XSL-FO e XSLT + XPath
1ª aula php
Apostila xml
Pro php and xml web services xml canonical
I Series 400 Query
Anúncio

Semelhante a Aplicando Transformação em XML usando XSLT e XSL-FO - 4 (20)

ODP
Workshop - Desenvolvimento web com Drupal 7
PPT
Arquitetura: XML + RDF ate WebSemantica
PPT
PPT
Html
PDF
Curso de Desenvolvimento de Sistemas Web - (X)HTML
PDF
Curso de HTML5 - Aula 01
PDF
PostgreSQL-Prático.pdf
PDF
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
PDF
Curso XML - IBM Academic Initiative
PPT
PDF
Padrões de Projeto e Boas Práticas em PHP - PHP Conference Brasil 2010
PDF
Apache poi
PDF
Web Semântica no Domínio Bibliográfico
PDF
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
PPT
Desenvolvimento Web Parte II
DOCX
Tp 4 xml
PDF
Apresentação palestra ireport
PPT
Formatose padrões(1)
PDF
XML, Webservice e RSS
PDF
Curso de XHTML
Workshop - Desenvolvimento web com Drupal 7
Arquitetura: XML + RDF ate WebSemantica
Html
Curso de Desenvolvimento de Sistemas Web - (X)HTML
Curso de HTML5 - Aula 01
PostgreSQL-Prático.pdf
Monografia CEI-ES0326-T14-2008-1 - Wellington Gomes de Vasconcelos
Curso XML - IBM Academic Initiative
Padrões de Projeto e Boas Práticas em PHP - PHP Conference Brasil 2010
Apache poi
Web Semântica no Domínio Bibliográfico
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Desenvolvimento Web Parte II
Tp 4 xml
Apresentação palestra ireport
Formatose padrões(1)
XML, Webservice e RSS
Curso de XHTML
Anúncio

Mais de Vivian Motti (20)

PDF
Keynote speech - Webmedia 2020
PDF
Usable Privacy
PDF
Smartwatch Applications as Assistive Technologies
PDF
Wearable technologies
PDF
Cards - Users with Disabilities - Course Material
PDF
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
PDF
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
PPTX
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
PDF
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
PDF
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
PDF
Wearable privacy skeletons in the data closet
PPTX
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
PDF
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
PPTX
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
PDF
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
PDF
Toward a Visual Vocabulary for Privacy Concepts
PDF
Wearable Health
PDF
Wearable Computing: Healthcare, Human Factors and Privacy
PDF
Micro interactions and multi dimensional graphical user interfaces in the des...
PDF
An Overview of Wearable Applications for Health Care: Requirements and Challe...
Keynote speech - Webmedia 2020
Usable Privacy
Smartwatch Applications as Assistive Technologies
Wearable technologies
Cards - Users with Disabilities - Course Material
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Wearable privacy skeletons in the data closet
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Toward a Visual Vocabulary for Privacy Concepts
Wearable Health
Wearable Computing: Healthcare, Human Factors and Privacy
Micro interactions and multi dimensional graphical user interfaces in the des...
An Overview of Wearable Applications for Health Care: Requirements and Challe...

Último (17)

PDF
Banco de Dados 2atualização de Banco de d
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Jira Software projetos completos com scrum
PPTX
ccursoammaiacursoammaiacursoammaia123456
PPT
Aula de Engenharia de Software principais caracteristicas
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Banco de Dados 2atualização de Banco de d
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Jira Software projetos completos com scrum
ccursoammaiacursoammaiacursoammaia123456
Aula de Engenharia de Software principais caracteristicas
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Analise Estatica de Compiladores para criar uma nova LP
Processos no SAP Extended Warehouse Management, EWM100 Col26
Tipos de servidor em redes de computador.pptx
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Processamento da remessa no SAP ERP, SCM610 Col15
Conceitos básicos de Redes Neurais Artificiais
SEMINÁRIO DE IHC - A interface Homem-Máquina
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
Proposta de Implementação de uma Rede de Computador Cabeada.pptx

Aplicando Transformação em XML usando XSLT e XSL-FO - 4