An Overview of Wearable Applications for Health Care: Requirements and Challe...
Aplicando Transformações em XML
1. 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
2. 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)
4. 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
6. 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
7. Layout das Páginas
Quais tipos de páginas
o documento pode ter?
3 exemplos
capa esquerda direita
Especificar:
altura
largura
margens
13. 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
14. 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
15. 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:
16. Page Sequences
Especificar a ordem de uso dos tipos de páginas
Dois tipos
Capa
Conteúdo: alternância esquerda, direita
17. 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
19. 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
20. 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
/
21. 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
22. 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
24. 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
25. 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
27. 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>)
28. Adicionando bordas ao bloco
O objeto fo-block tem
os atributos para
configuração da borda
29. Adicionando link e cor ao fundo
O objeto fo-block
tem os atributos para
cor de fundo e
fo:basic-link para
links
35. 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
36. 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
37. 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
38. 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/
39. 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
40. 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
41. 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/