Чтение онлайн

ЖАНРЫ

Холзнер Стивен

Шрифт:

Radius (in miles):

<xsl:apply-templates/>

</fo:block>

 </xsl:template>

 <xsl:template match="PLANET/DENSITY">

<fo:block

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

font-family="sans-serif">

Density (Earth = 1):

<xsl:apply-templates/>

</fo:block>

 </xsl:template>

 <xsl:template match="PLANET/DISTANCE">

<fo:block

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

font-family="sans-serif">

Distance (million miles):

<xsl:apply-templates/>

</fo:block>

 </xsl:template>

</xsl:stylesheet>

Преобразование

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

Для того чтобы преобразовать

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

<?xml version="1.0" encoding="UTF-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

 <fo:layout-master-set>

<fo:simple-page-master

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

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

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

master-name="page">

<fo:region-body

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

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

<fo:region-after extent="10mm"/>

</fo:simple-page-master>

 </fо:layout-master-set>

 <fo:page-sequence master-name="page">

<fo:flow flow-name="xsl-region-body">

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt" font-weight="bold">

Name: Mercury

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Mass (Earth = 1): .0553

</fo-block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Day (Earth = 1): 58.65

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Radius (in miles): 1516

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Density (Earth = 1):.983

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Distance (million miles): 43.4

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt" font-weight="bold">

Name: Venus

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Mass (Earth = 1): .815

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Day (Earth = 1): 116.75

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font size="36pt">

Radius (in miles): 3716

</fo:block>

<fo:block

font-family="sans-serif" line-height="48pt"

font-size="36pt">

Density (Earth = 1): .943

</fo:block>

Поделиться с друзьями: