XSLT - страница 23

стр.

>

>  66.8

Earth

1

1

2107

1

128.4

>

В этом примере я воспользуюсь таблицей стилей XSLT — мы посмотрим, как ее создавать, в главе 11 — для преобразования >planets.xml так, чтобы он использовал форматирующие объекты. Затем при помощи процессора FOP я преобразую новый документ в файл PDF. Мы также посмотрим, как форматированный документ выглядит в Adobe Acrobat.

Таблица стилей XSLT

В листинге 1.8 приведена таблица стилей >planetsPDF.xcl, которая берет данные из >planets.xml и форматирует их в файл PDF, >planets.pdf. В этом случае для текста я использую крупный шрифт — 36 пунктов.

Листинг 1.8. Преобразование XML-XSL-FO

>

>

> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

> xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">


>   

>   

>     page-width="300mm" margin-top="10mm" margin-bottom="10mm"

>     margin-left="20mm" margin-right="20mm">

>    

>      margin-top="0mm" margin-bottom="10mm"

>      margin-left="0mm" margin-right="0mm"/>

>    

>    

>  

>   

>    

>    

>    

>   

>  


>   font-weight="bold" font-size="36pt" line-height="48pt"

>   font-family="sans-serif">

>   Name:

>  

>  


>   font-size="36pt" line-height="48pt"

>   font-family="sans-serif">

>   Mass (Earth = 1):

>   

>  


>   font-size="36pt" line-height="48pt"

>   font-family="sans-serif">

>   Day (Earth = 1):

>   

>  


>   font-size="36pt" line-height="48pt"

>   font-family="sans-serif">

>   Radius (in miles):

>  

>  


>   font-size="36pt" line-height="48pt"

>   font-family="sans-serif">

>   Density (Earth = 1):

>   


>   font-size="36pt" line-height="48pt"

>   font-family="sans-serif">

>   Distance (million miles):

>   

>  

>

Преобразование документа в представление с форматирующими объектами

Для того чтобы преобразовать >planets.xml в документ, использующий форматирующие объекты, который я назвал >planets.fo, достаточно всего лишь применить таблицу стилей >planetsPDF.xsl. Это можно сделать при помощи техник XSLT, уже рассмотренных в этой главе.

Например, чтобы создать >planets.fo при помощи Xalan, в Windows сначала нужно установить >classpath:

>C:\>set classpath=c:\xalan\xalan-1_2_0_0\bin\xalan.jar; c:\xalan\xalan-j_2_0_0\bin\xerces.jar

Затем применить >planetsPDF.xsl к >planets.xml для генерации >planets.fo:

>C:\planets>java org.apache.xalan.xslt.Process -IN planets.xml -XSL planetsPDF.xsl -OUT planets.fo

Для задания форматирования документ >planets.fo использует форматирующие объекты XSL. Вот как выглядит файл >planets.fo (листинг 1.9):

Листинг 1.9. planets.fo

>

>

>   margin-right="20mm" margin-left="20mm"

>   margin-bottom="10mm" margin-top="10mm"

>   page-width="300mm" page-height="400mm"

>   master-name="page">

>