>
> 66.8
>
>
> Earth
> 1
> 1
> 2107
> 1
> 128.4
>
>
В этом примере я воспользуюсь таблицей стилей XSLT — мы посмотрим, как ее создавать, в главе 11 — для преобразования >planets.xml
так, чтобы он использовал форматирующие объекты. Затем при помощи процессора FOP я преобразую новый документ в файл PDF. Мы также посмотрим, как форматированный документ выглядит в Adobe Acrobat.
В листинге 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">
>