print.xsl
author fabien
Thu, 14 Feb 2008 16:46:36 -0500
branchcda
changeset 14 54a2d205f350
parent 0 ff2810600648
child 18 9765d57d1f54
permissions -rw-r--r--
[svn] Remplacement des feuilles de personnage par de nouvelles feuilles plus fonctionnelles.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     1
<?xml version='1.0'?>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     3
                version='1.0'
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     4
                xmlns:fo="http://www.w3.org/1999/XSL/Format">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     5
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/fo/docbook.xsl"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     6
<xsl:import href="titlepage.xsl"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     7
<xsl:import href="common.xsl"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     8
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     9
<!-- print options -->
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    10
<xsl:param name="fop.extensions" select="1"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    11
<xsl:param name="ulink.footnotes" select="1"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    12
<!-- xsl:param name="double.sided" select="1"/ -->
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    13
<xsl:param name="hyphenate">false</xsl:param>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    14
<!-- xsl:param name="insert.xref.page.number" select="1"/ -->
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    15
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    16
<!-- the following is mainly to sort the glossary -->
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    17
<xsl:template name="make-glossary">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    18
  <xsl:param name="divs" select="glossdiv"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    19
  <xsl:param name="entries" select="glossentry"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    20
  <xsl:param name="preamble" select="*[not(self::title
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    21
                                           or self::subtitle
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    22
                                           or self::glossdiv
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    23
                                           or self::glossentry)]"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    24
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    25
  <xsl:variable name="presentation">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    26
    <xsl:call-template name="dbfo-attribute">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    27
      <xsl:with-param name="pis"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    28
                      select="processing-instruction('dbfo')"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    29
      <xsl:with-param name="attribute" select="'glossary-presentation'"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    30
    </xsl:call-template>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    31
  </xsl:variable>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    32
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    33
  <xsl:variable name="term-width">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    34
    <xsl:call-template name="dbfo-attribute">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    35
      <xsl:with-param name="pis"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    36
                      select="processing-instruction('dbfo')"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    37
      <xsl:with-param name="attribute" select="'glossterm-width'"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    38
    </xsl:call-template>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    39
  </xsl:variable>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    40
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    41
  <xsl:variable name="width">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    42
    <xsl:choose>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    43
      <xsl:when test="$term-width = ''">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    44
        <xsl:value-of select="$glossterm.width"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    45
      </xsl:when>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    46
      <xsl:otherwise>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    47
        <xsl:value-of select="$term-width"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    48
      </xsl:otherwise>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    49
    </xsl:choose>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    50
  </xsl:variable>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    51
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    52
  <xsl:call-template name="glossary.titlepage"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    53
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    54
  <xsl:if test="$preamble">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    55
    <xsl:apply-templates select="$preamble"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    56
  </xsl:if>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    57
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    58
  <xsl:choose>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    59
    <xsl:when test="$presentation = 'list'">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    60
      <xsl:apply-templates select="$divs" mode="glossary.as.list">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    61
        <xsl:with-param name="width" select="$width"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    62
      </xsl:apply-templates>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    63
      <xsl:if test="$entries">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    64
        <fo:list-block provisional-distance-between-starts="{$width}"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    65
                       provisional-label-separation="{$glossterm.separation}"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    66
                       xsl:use-attribute-sets="normal.para.spacing">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    67
          <xsl:apply-templates select="$entries" mode="glossary.as.list"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    68
        </fo:list-block>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    69
      </xsl:if>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    70
    </xsl:when>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    71
    <xsl:when test="$presentation = 'blocks'">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    72
      <xsl:apply-templates select="$divs" mode="glossary.as.blocks"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    73
      <xsl:apply-templates select="$entries" mode="glossary.as.blocks"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    74
    </xsl:when>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    75
    <xsl:when test="$glossary.as.blocks != 0">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    76
      <xsl:apply-templates select="$divs" mode="glossary.as.blocks"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    77
      <xsl:apply-templates select="$entries" mode="glossary.as.blocks"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    78
    </xsl:when>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    79
    <xsl:otherwise>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    80
      <xsl:apply-templates select="$divs" mode="glossary.as.list">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    81
        <xsl:with-param name="width" select="$width"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    82
      </xsl:apply-templates>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    83
      <xsl:if test="$entries">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    84
        <fo:list-block provisional-distance-between-starts="{$width}"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    85
                       provisional-label-separation="{$glossterm.separation}"
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    86
                       xsl:use-attribute-sets="normal.para.spacing">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    87
          <xsl:apply-templates select="$entries" mode="glossary.as.list">
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    88
            <!-- here the sorting -->
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    89
            <xsl:sort select="glossterm"/>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    90
          </xsl:apply-templates>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    91
        </fo:list-block>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    92
      </xsl:if>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    93
    </xsl:otherwise>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    94
  </xsl:choose>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    95
</xsl:template>
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    96
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    97
</xsl:stylesheet>