Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/tools/boostbook/xsl/fo.xsl @ 12

Last change on this file since 12 was 12, checked in by landauf, 17 years ago

added boost

File size: 4.1 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                xmlns:fo="http://www.w3.org/1999/XSL/Format"
4                version="1.0">
5
6  <!-- Import the FO stylesheet -->
7  <xsl:import 
8    href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
9
10  <xsl:param name="chapter.autolabel" select="0"/>
11  <xsl:param name="refentry.generate.name" select="0"/>
12  <xsl:param name="refentry.generate.title" select="1"/>
13  <xsl:param name="fop.extensions" select="1"/>
14  <xsl:param name="make.year.ranges" select="1"/>
15  <xsl:param name="ulink.show" select="0"/>
16
17  <!-- The question and answer templates are copied here from the
18       1.61.3 DocBook XSL stylesheets so that we can eliminate the emission
19       of id attributes in the emitted fo:list-item-label elements. FOP
20       0.20.5 has problems with these id attributes, and they are otherwise
21       unused. -->
22<xsl:template match="question">
23  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
24
25  <xsl:variable name="entry.id">
26    <xsl:call-template name="object.id">
27      <xsl:with-param name="object" select="parent::*"/>
28    </xsl:call-template>
29  </xsl:variable>
30
31  <xsl:variable name="deflabel">
32    <xsl:choose>
33      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
34        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
35                              /@defaultlabel"/>
36      </xsl:when>
37      <xsl:otherwise>
38        <xsl:value-of select="$qanda.defaultlabel"/>
39      </xsl:otherwise>
40    </xsl:choose>
41  </xsl:variable>
42
43  <fo:list-item id="{$entry.id}" xsl:use-attribute-sets="list.item.spacing">
44    <fo:list-item-label end-indent="label-end()">
45      <xsl:choose>
46        <xsl:when test="$deflabel = 'none'">
47          <fo:block/>
48        </xsl:when>
49        <xsl:otherwise>
50          <fo:block>
51            <xsl:apply-templates select="." mode="label.markup"/>
52            <xsl:text>.</xsl:text> <!-- FIXME: Hack!!! This should be in the locale! -->
53          </fo:block>
54        </xsl:otherwise>
55      </xsl:choose>
56    </fo:list-item-label>
57    <fo:list-item-body start-indent="body-start()">
58      <xsl:choose>
59        <xsl:when test="$deflabel = 'none'">
60          <fo:block font-weight="bold">
61            <xsl:apply-templates select="*[local-name(.)!='label']"/>
62          </fo:block>
63        </xsl:when>
64        <xsl:otherwise>
65          <xsl:apply-templates select="*[local-name(.)!='label']"/>
66        </xsl:otherwise>
67      </xsl:choose>
68    </fo:list-item-body>
69  </fo:list-item>
70</xsl:template>
71
72<xsl:template match="answer">
73  <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
74  <xsl:variable name="entry.id">
75    <xsl:call-template name="object.id">
76      <xsl:with-param name="object" select="parent::*"/>
77    </xsl:call-template>
78  </xsl:variable>
79
80  <xsl:variable name="deflabel">
81    <xsl:choose>
82      <xsl:when test="ancestor-or-self::*[@defaultlabel]">
83        <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]
84                              /@defaultlabel"/>
85      </xsl:when>
86      <xsl:otherwise>
87        <xsl:value-of select="$qanda.defaultlabel"/>
88      </xsl:otherwise>
89    </xsl:choose>
90  </xsl:variable>
91
92  <fo:list-item xsl:use-attribute-sets="list.item.spacing">
93    <fo:list-item-label end-indent="label-end()">
94      <xsl:choose>
95        <xsl:when test="$deflabel = 'none'">
96          <fo:block/>
97        </xsl:when>
98        <xsl:otherwise>
99          <fo:block>
100            <!-- FIXME: Hack!!! This should be in the locale! -->
101            <xsl:variable name="answer.label">
102              <xsl:apply-templates select="." mode="label.markup"/>
103            </xsl:variable>
104            <xsl:copy-of select="$answer.label"/>
105            <xsl:if test="string($answer.label) != ''">
106              <xsl:text>.</xsl:text>
107            </xsl:if>
108          </fo:block>
109        </xsl:otherwise>
110      </xsl:choose>
111    </fo:list-item-label>
112    <fo:list-item-body start-indent="body-start()">
113      <xsl:apply-templates select="*[local-name(.)!='label']"/>
114    </fo:list-item-body>
115  </fo:list-item>
116</xsl:template>
117
118</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.