</xsl:template>

 <xsl:template match='PLANET/DAY'>

  <fo:block

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

   font-family='sans-serif'>

   Day (Earth = 1):

   <xsl:apply-templates/>

  </fo:block>

 </xsl:template>

 <xsl:template match='PLANET/RADIUS'>

  <fo:block

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

   font-family='sans-serif'>

   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:xalanxalan-1_2_0_0inxalan.jar; c:xalanxalan-j_2_0_0in 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>

Вы читаете XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату