diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2004-12-19 21:17:48 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2004-12-19 21:17:48 +0000 |
commit | f7bd105db3cf74fb6d2bfed726cf5d187cb1109f (patch) | |
tree | 0077803fc32f39b293b3860f6ffa765eefcec94f /stylesheets | |
parent | 6d3af72bf2b333798eba7b88075fccab9441519f (diff) |
Updated the stylesheets and Makefile.
Removed contrib/, index-pdf.xml and goTidy.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4428 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'stylesheets')
-rw-r--r-- | stylesheets/lfs-chunked.xsl | 6 | ||||
-rw-r--r-- | stylesheets/lfs-chunked2.xsl | 7 | ||||
-rw-r--r-- | stylesheets/lfs-l10n.xml | 44 | ||||
-rw-r--r-- | stylesheets/lfs-nochunks.xsl | 51 | ||||
-rw-r--r-- | stylesheets/lfs-pdf.xsl | 9 | ||||
-rw-r--r-- | stylesheets/lfs-profile.xsl | 2 | ||||
-rw-r--r-- | stylesheets/lfs.css | 15 | ||||
-rw-r--r-- | stylesheets/patcheslist.xsl | 46 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-admon.xsl | 95 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-index.xsl | 50 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-mixed.xsl | 251 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-pagesetup.xsl | 11 | ||||
-rw-r--r-- | stylesheets/pdf/lfs-xref.xsl | 283 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-admon.xsl | 13 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-index.xsl | 36 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-mixed.xsl | 79 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-navigational.xsl | 44 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-sections.xsl | 105 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-titles.xsl | 37 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-toc.xsl | 19 | ||||
-rw-r--r-- | stylesheets/xhtml/lfs-xref.xsl | 270 |
21 files changed, 1265 insertions, 208 deletions
diff --git a/stylesheets/lfs-chunked.xsl b/stylesheets/lfs-chunked.xsl index bfe985b7a..f6ba5f0e9 100644 --- a/stylesheets/lfs-chunked.xsl +++ b/stylesheets/lfs-chunked.xsl @@ -5,8 +5,8 @@ version="1.0"> <xsl:import href="lfs-chunked2.xsl"/> - <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.67.2/xhtml/chunk-common.xsl"/> - <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.67.2/xhtml/manifest.xsl"/> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.66.1/xhtml/chunk-common.xsl"/> + <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.66.1/xhtml/manifest.xsl"/> <!-- From the original chunk.xsl file: @@ -24,7 +24,7 @@ Voila! (Man I hope we can do this better in XSLT 2.0) --> - <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.67.2/xhtml/chunk-code.xsl"/> + <xsl:include href="http://docbook.sourceforge.net/release/xsl/1.66.1/xhtml/chunk-code.xsl"/> <!-- Including our others customized chunks templates --> <xsl:include href="xhtml/lfs-legalnotice.xsl"/> diff --git a/stylesheets/lfs-chunked2.xsl b/stylesheets/lfs-chunked2.xsl index 6a4699542..12b40ce34 100644 --- a/stylesheets/lfs-chunked2.xsl +++ b/stylesheets/lfs-chunked2.xsl @@ -5,14 +5,19 @@ version="1.0"> <!-- We use XHTML --> - <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.67.2/xhtml/docbook.xsl"/> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.66.1/xhtml/docbook.xsl"/> <xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/> <!-- Including our others customized elements templates --> <xsl:include href="xhtml/lfs-admon.xsl"/> + <xsl:include href="xhtml/lfs-sections.xsl"/> <xsl:include href="xhtml/lfs-mixed.xsl"/> <xsl:include href="xhtml/lfs-titles.xsl"/> <xsl:include href="xhtml/lfs-toc.xsl"/> + <xsl:include href="xhtml/lfs-xref.xsl"/> + + <!-- This file contains our localization strings (for internationalization) --> + <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/> <!-- The CSS Stylesheet --> <xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/> diff --git a/stylesheets/lfs-l10n.xml b/stylesheets/lfs-l10n.xml new file mode 100644 index 000000000..568f981a9 --- /dev/null +++ b/stylesheets/lfs-l10n.xml @@ -0,0 +1,44 @@ +<?xml version='1.0' encoding='US-ASCII'?> + +<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + + <!-- Template to add more languages --> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" + language="xx" english-language-name="xxxxx"> + + <l:gentext key="description" text=""/> + <l:gentext key="Libraries" text=""/> + <l:gentext key="Others" text=""/> + <l:gentext key="Packages" text=""/> + <l:gentext key="Programs" text=""/> + <l:gentext key="Scripts" text=""/> + + </l:l10n> + + <!-- English --> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" + language="en" english-language-name="English"> + + <l:gentext key="description" text="description"/> + <l:gentext key="Libraries" text="Libraries"/> + <l:gentext key="Others" text="Others"/> + <l:gentext key="Packages" text="Packages"/> + <l:gentext key="Programs" text="Programs"/> + <l:gentext key="Scripts" text="Scripts"/> + + </l:l10n> + + <!-- Spanish --> + <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" + language="es" english-language-name="Spanish"> + + <l:gentext key="description" text="descripción"/> + <l:gentext key="Libraries" text="Librerías"/> + <l:gentext key="Others" text="Otros"/> + <l:gentext key="Packages" text="Paquetes"/> + <l:gentext key="Programs" text="Programas"/> + <l:gentext key="Scripts" text="Guiones"/> + + </l:l10n> + +</l:i18n> diff --git a/stylesheets/lfs-nochunks.xsl b/stylesheets/lfs-nochunks.xsl index a01f86510..434932081 100644 --- a/stylesheets/lfs-nochunks.xsl +++ b/stylesheets/lfs-nochunks.xsl @@ -5,7 +5,7 @@ version="1.0"> <!-- We use XHTML --> - <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.67.2/xhtml/docbook.xsl"/> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.66.1/xhtml/docbook.xsl"/> <!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet --> <xsl:output method="html" encoding="ISO-8859-1" indent="no" /> @@ -14,13 +14,54 @@ <xsl:include href="xhtml/lfs-admon.xsl"/> <xsl:include href="xhtml/lfs-index.xsl"/> <xsl:include href="xhtml/lfs-mixed.xsl"/> - <xsl:include href="xhtml/lfs-navigational.xsl"/> + <xsl:include href="xhtml/lfs-sections.xsl"/> <xsl:include href="xhtml/lfs-toc.xsl"/> + <xsl:include href="xhtml/lfs-xref.xsl"/> + + <!-- This file contains our localization strings (for internationalization) --> + <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/> <!-- Dropping some unwanted style attributes --> <xsl:param name="ulink.target" select="''"></xsl:param> <xsl:param name="css.decoration" select="0"></xsl:param> + <!-- To drop the remainig dot when title is empty (from lfs-titles.xsl)--> + <xsl:template name="sect2.titlepage"> + <xsl:choose> + <xsl:when test="string-length(title) = 0"/> + <xsl:otherwise> + <div class="titlepage"> + <xsl:if test="@id"> + <a id="{@id}" name="{@id}"/> + </xsl:if> + <h3 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> + <xsl:value-of select="title"/> + </h3> + </div> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Added the role param for proper punctuation in xref calls + (from lfs-titles.xsl). --> + <xsl:template match="*" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + <xsl:param name="role"/> + <xsl:choose> + <xsl:when test="$purpose = 'xref' and titleabbrev"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + <xsl:value-of select="$role"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <!-- The CSS Stylesheet --> <xsl:template name='user.head.content'> <style type="text/css"> @@ -173,6 +214,12 @@ div.segmentedlist p { margin: 0px auto; } +/* itemizedlist */ + +div.itemizedlist { + margin-left: 1em; +} + /* Indented blocks */ p, ul, dl, code, blockquote { padding-left: 1em; diff --git a/stylesheets/lfs-pdf.xsl b/stylesheets/lfs-pdf.xsl index ab768a49a..c154439f0 100644 --- a/stylesheets/lfs-pdf.xsl +++ b/stylesheets/lfs-pdf.xsl @@ -4,7 +4,7 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> <!-- We use FO and FOP as the processor --> - <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.67.2/fo/docbook.xsl"/> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.66.1/fo/docbook.xsl"/> <xsl:param name="fop.extensions" select="1"/> <xsl:param name="draft.mode" select="'no'"/> @@ -12,7 +12,12 @@ <xsl:include href="pdf/lfs-index.xsl"/> <xsl:include href="pdf/lfs-pagesetup.xsl"/> <xsl:include href="pdf/lfs-sections.xsl"/> + <xsl:include href="pdf/lfs-admon.xsl"/> <xsl:include href="pdf/lfs-mixed.xsl"/> + <xsl:include href="pdf/lfs-xref.xsl"/> + + <!-- This file contains our localization strings (for internationalization) --> + <xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/> <!-- Paper size required by the publisher --> <xsl:param name="paper.type" select="'Customized'"/> @@ -25,7 +30,7 @@ <xsl:param name="alignment">justify</xsl:param> <!-- Font size --> - <xsl:param name="body.font.master">10</xsl:param> + <xsl:param name="body.font.master">9</xsl:param> <xsl:param name="body.font.size">12pt</xsl:param> <!-- TOC stuff --> diff --git a/stylesheets/lfs-profile.xsl b/stylesheets/lfs-profile.xsl index 7e63811e5..8c8a1490b 100644 --- a/stylesheets/lfs-profile.xsl +++ b/stylesheets/lfs-profile.xsl @@ -4,6 +4,6 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> - <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.67.2/profiling/profile.xsl"/> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.66.1/profiling/profile.xsl"/> </xsl:stylesheet> diff --git a/stylesheets/lfs.css b/stylesheets/lfs.css index d79e43168..22b70d0f8 100644 --- a/stylesheets/lfs.css +++ b/stylesheets/lfs.css @@ -110,7 +110,7 @@ div.toc, div.dedication { padding-left: 1em; } -li.preface { +li.preface, li.appendix { margin-left: 1em; } @@ -230,6 +230,11 @@ tt, code, kbd, pre, .command { font-family: monospace; } +pre { + margin-top: .5em; + margin-bottom: .5em; +} + pre.userinput { color: #101310; background-color: #e5e5e5; @@ -239,6 +244,10 @@ pre.userinput { font-weight: bold; } +.literal { + font-weight: normal; +} + pre.screen { color: #000; background-color: #e9e9e9; @@ -285,11 +294,11 @@ div.installation h2, div.content h2 { margin: 0; } -div.book, div.preface, div.part, div.chapter, div.sect1, div.index { +div.book, div.preface, div.part, div.chapter, div.sect1, div.appendix, div.index { padding-bottom: 0.5em; } -div.preface h1, div.part h1, div.chapter h1, div.sect1 h1, div.index h1 { +div.preface h1, div.part h1, div.chapter h1, div.sect1 h1, div.appendix h1, div.index h1 { background: #f5f6f7; border-bottom: .1em solid #dbddec; margin: 0px auto; diff --git a/stylesheets/patcheslist.xsl b/stylesheets/patcheslist.xsl index 674078f23..a8496b6c0 100644 --- a/stylesheets/patcheslist.xsl +++ b/stylesheets/patcheslist.xsl @@ -32,31 +32,37 @@ <xsl:template match="//ulink"> <xsl:if test="contains(@url, '.patch') and contains(@url, '&patches-root;')"> - <xsl:text> cp </xsl:text> - <xsl:text>/home/httpd/</xsl:text> - <xsl:value-of select="substring-before (substring-after ('&patches-root;', 'http://'), $links.directory)"/> - <xsl:text>downloads/</xsl:text> - <xsl:if test="contains (@url, '-')"> - <xsl:variable name="cut" select="translate (@url, '0123456789', '2222222222')"/> - <xsl:choose> - <xsl:when test="contains ($cut, ',')"> - <xsl:value-of select="substring-before (substring-after($cut, $links.directory), ',2')"/> - </xsl:when> - <xsl:otherwise> + <xsl:choose> + <xsl:when test="ancestor-or-self::*/@condition = 'pdf'"/> + <xsl:otherwise> + <xsl:text> cp </xsl:text> + <xsl:text>/home/httpd/</xsl:text> + <xsl:value-of select="substring-before (substring-after ('&patches-root;', 'http://'), $links.directory)"/> + <xsl:text>downloads/</xsl:text> + <xsl:if test="contains (@url, '-')"> + <xsl:variable name="cut" select="translate (@url, '0123456789', '2222222222')"/> + <xsl:variable name="links.directory2" select="translate ($links.directory, '0123456789', '2222222222')"/> <xsl:choose> - <xsl:when test="contains ($cut, '-src-2')"> - <xsl:value-of select="substring-before (substring-after($cut, $links.directory), '-src-2')"/> + <xsl:when test="contains ($cut, ',')"> + <xsl:value-of select="substring-before (substring-after($cut, $links.directory2), ',2')"/> </xsl:when> <xsl:otherwise> - <xsl:value-of select="substring-before (substring-after($cut, $links.directory), '-2')"/> + <xsl:choose> + <xsl:when test="contains ($cut, '-src-2')"> + <xsl:value-of select="substring-before (substring-after($cut, $links.directory2), '-src-2')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="substring-before (substring-after($cut, $links.directory2), '-2')"/> + </xsl:otherwise> + </xsl:choose> </xsl:otherwise> </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:text>/</xsl:text> - <xsl:value-of select="substring-after(@url, $links.directory)"/> - <xsl:text> . 
</xsl:text> + </xsl:if> + <xsl:text>/</xsl:text> + <xsl:value-of select="substring-after(@url, $links.directory)"/> + <xsl:text> . 
</xsl:text> + </xsl:otherwise> + </xsl:choose> </xsl:if> </xsl:template> diff --git a/stylesheets/pdf/lfs-admon.xsl b/stylesheets/pdf/lfs-admon.xsl new file mode 100644 index 000000000..44d7b011f --- /dev/null +++ b/stylesheets/pdf/lfs-admon.xsl @@ -0,0 +1,95 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version="1.0"> + + + <!-- Graphics in admonitions --> + <xsl:param name="admon.graphics" select="1"/> + <xsl:param name="admon.graphics.path" + select="'/usr/share/xml/docbook/xsl-stylesheets-current/images/'"/> + + <!-- Admonition block properties --> + <xsl:template match="important|warning|caution"> + <xsl:choose> + <xsl:when test="$admon.graphics != 0"> + <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em" + space-before.maximum="0.8em" border-style="solid" border-width="1pt" + border-color="#500" background-color="#FFFFE6"> + <xsl:call-template name="graphical.admonition"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="nongraphical.admonition"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="note|tip"> + <xsl:choose> + <xsl:when test="$admon.graphics != 0"> + <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em" + space-before.maximum="0.8em" border-style="solid" border-width="1pt" + border-color="#E0E0E0" background-color="#FFFFE6"> + <xsl:call-template name="graphical.admonition"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="nongraphical.admonition"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Admonitions text properties --> + <xsl:attribute-set name="admonition.properties"> + <xsl:attribute name="margin-right">6pt</xsl:attribute> + </xsl:attribute-set> + + <!-- Adding left space to the graphics and color to the titles --> + <xsl:template name="graphical.admonition"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="graphic.width"> + <xsl:call-template name="admon.graphic.width"/> + </xsl:variable> + <fo:block id="{$id}"> + <fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt" + provisional-label-separation="18pt" xsl:use-attribute-sets="list.block.spacing"> + <fo:list-item> + <fo:list-item-label end-indent="label-end()"> + <fo:block margin-left="4pt"> + <fo:external-graphic width="auto" height="auto" + content-width="{$graphic.width}" > + <xsl:attribute name="src"> + <xsl:call-template name="admon.graphic"/> + </xsl:attribute> + </fo:external-graphic> + </fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <xsl:if test="$admon.textlabel != 0 or title"> + <fo:block xsl:use-attribute-sets="admonition.title.properties"> + <xsl:if test="ancestor-or-self::important"> + <xsl:attribute name="color">#500</xsl:attribute> + </xsl:if> + <xsl:if test="ancestor-or-self::warning"> + <xsl:attribute name="color">#500</xsl:attribute> + </xsl:if> + <xsl:if test="ancestor-or-self::caution"> + <xsl:attribute name="color">#500</xsl:attribute> + </xsl:if> + <xsl:apply-templates select="." mode="object.title.markup"/> + </fo:block> + </xsl:if> + <fo:block xsl:use-attribute-sets="admonition.properties"> + <xsl:apply-templates/> + </fo:block> + </fo:list-item-body> + </fo:list-item> + </fo:list-block> + </fo:block> + </xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/stylesheets/pdf/lfs-index.xsl b/stylesheets/pdf/lfs-index.xsl index a43be774c..6f15ce53e 100644 --- a/stylesheets/pdf/lfs-index.xsl +++ b/stylesheets/pdf/lfs-index.xsl @@ -13,7 +13,9 @@ <!--Title--> <xsl:template match="index" mode="title.markup"> <xsl:param name="allow-anchors" select="0"/> - <xsl:text>Index</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Index</xsl:with-param> + </xsl:call-template> </xsl:template> <!-- Divisions--> @@ -30,24 +32,34 @@ <xsl:with-param name="titlecontent"> <xsl:choose> <xsl:when test="$divtitle = 'A'"> - <xsl:text>Packages</xsl:text> - </xsl:when> - <xsl:when test="$divtitle = 'B'"> - <xsl:text>Programs</xsl:text> - </xsl:when> - <xsl:when test="$divtitle = 'C'"> - <xsl:text>Libraries</xsl:text> - </xsl:when> - <xsl:when test="$divtitle = 'D'"> - <xsl:text>Scripts</xsl:text> - </xsl:when> - <xsl:when test="$divtitle = 'E'"> - <xsl:text>Others</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$divtitle"/> - </xsl:otherwise> - </xsl:choose> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Packages</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:when test="$divtitle = 'B'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Programs</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:when test="$divtitle = 'C'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Libraries</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:when test="$divtitle = 'D'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Scripts</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:when test="$divtitle = 'E'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Others</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$divtitle"/> + </xsl:otherwise> + </xsl:choose> </xsl:with-param> </xsl:call-template> </xsl:if> diff --git a/stylesheets/pdf/lfs-mixed.xsl b/stylesheets/pdf/lfs-mixed.xsl index 256b75fee..15fc55eaf 100644 --- a/stylesheets/pdf/lfs-mixed.xsl +++ b/stylesheets/pdf/lfs-mixed.xsl @@ -4,21 +4,95 @@ xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> - - <!-- This is a hack and isn't correct semantically. The beginpage tags must - be placed in the XML source only to render the final PDF output, and must - be removed after.--> + + <!-- This is a hack and isn't correct semantically. Theoretically, the beginpage + tags should be placed in the XML source only to render the PDF output and + should be removed after it. But there is no a better way and we need this.--> <xsl:template match="beginpage"> <fo:block break-after="page"/> </xsl:template> + + <!-- Allow forced line breaks inside paragraphs emulating literallayout. --> + <xsl:template match="para"> + <xsl:choose> + <xsl:when test="./@remap='verbatim'"> + <fo:block wrap-option="no-wrap" + white-space-collapse="false" + white-space-treatment="preserve" + text-align="start" + linefeed-treatment="preserve"> + <xsl:call-template name="anchor"/> + <xsl:apply-templates/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <xsl:apply-imports/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <!-- Split URLs --> - <xsl:template name="hyphenate-url"> + <!-- Show URLs in italic font --> + <xsl:template match="ulink" name="ulink"> + <fo:inline font-style="italic"> + <fo:basic-link xsl:use-attribute-sets="xref.properties"> + <xsl:attribute name="external-destination"> + <xsl:call-template name="fo-external-image"> + <xsl:with-param name="filename" select="@url"/> + </xsl:call-template> + </xsl:attribute> + <xsl:choose> + <xsl:when test="count(child::node())=0"> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="@url"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </fo:inline> + <xsl:if test="count(child::node()) != 0 + and string(.) != @url + and $ulink.show != 0"> + <!-- yes, show the URI --> + <xsl:choose> + <xsl:when test="$ulink.footnotes != 0 and not(ancestor::footnote)"> + <xsl:text> </xsl:text> + <fo:footnote> + <xsl:call-template name="ulink.footnote.number"/> + <fo:footnote-body font-family="{$body.fontset}" + font-size="{$footnote.font.size}"> + <fo:block> + <xsl:call-template name="ulink.footnote.number"/> + <xsl:text> </xsl:text> + <fo:inline> + <xsl:value-of select="@url"/> + </fo:inline> + </fo:block> + </fo:footnote-body> + </fo:footnote> + </xsl:when> + <xsl:otherwise> + <fo:inline hyphenate="false"> + <xsl:text> [</xsl:text> + <xsl:call-template name="hyphenate-url"> + <xsl:with-param name="url" select="@url"/> + </xsl:call-template> + <xsl:text>]</xsl:text> + </fo:inline> + </xsl:otherwise> + </xsl:choose> + </xsl:if> + </xsl:template> + + <!-- Split URLs (obsolete, keeped as reference) --> + <!--<xsl:template name="hyphenate-url"> <xsl:param name="url" select="''"/> <xsl:choose> <xsl:when test="ancestor::varlistentry"> <xsl:choose> - <xsl:when test="string-length($url) > 88"> + <xsl:when test="string-length($url) > 90"> <xsl:value-of select="substring($url, 1, 50)"/> <xsl:param name="rest" select="substring($url, 51)"/> <xsl:value-of select="substring-before($rest, '/')"/> @@ -31,15 +105,15 @@ </xsl:choose> </xsl:when> <xsl:otherwise> - <xsl:value-of select="$url"/> + <xsl:value-of select="$url"/>--> <!-- <xsl:value-of select="substring-before($url, '//')"/> <xsl:text>// </xsl:text> <xsl:call-template name="split-url"> <xsl:with-param name="url2" select="substring-after($url, '//')"/> </xsl:call-template>--> - </xsl:otherwise> + <!-- </xsl:otherwise> </xsl:choose> - </xsl:template> + </xsl:template>--> <!--<xsl:template name="split-url"> <xsl:choose> @@ -60,88 +134,6 @@ <!-- Shade screen --> <xsl:param name="shade.verbatim" select="1"/> - <!-- Graphics in admonitions --> - <xsl:param name="admon.graphics" select="1"/> - <xsl:param name="admon.graphics.path" - select="'/usr/share/xml/docbook/xsl-stylesheets-1.67.2/images/'"/> - - <!-- Admonition block properties --> - <xsl:template match="important|warning|caution"> - <xsl:choose> - <xsl:when test="$admon.graphics != 0"> - <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em" - space-before.maximum="0.8em" border-style="solid" border-width="1pt" - border-color="#500" background-color="#FFFFE6"> - <xsl:call-template name="graphical.admonition"/> - </fo:block> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="nongraphical.admonition"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="note|tip"> - <xsl:choose> - <xsl:when test="$admon.graphics != 0"> - <fo:block space-before.minimum="0.4em" space-before.optimum="0.6em" - space-before.maximum="0.8em" border-style="solid" border-width="1pt" - border-color="#E0E0E0" background-color="#FFFFE6"> - <xsl:call-template name="graphical.admonition"/> - </fo:block> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="nongraphical.admonition"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Admonitions text properties --> - <xsl:attribute-set name="admonition.properties"> - <xsl:attribute name="margin-right">6pt</xsl:attribute> - </xsl:attribute-set> - - <!-- Adding left space to the graphics and color to the titles --> - <xsl:template name="graphical.admonition"> - <xsl:variable name="id"> - <xsl:call-template name="object.id"/> - </xsl:variable> - <fo:block id="{$id}"> - <fo:list-block xsl:use-attribute-sets="list.block.spacing"> - <fo:list-item> - <fo:list-item-label end-indent="label-end()"> - <fo:block margin-left="4pt"> - <fo:external-graphic width="auto" height="auto"> - <xsl:attribute name="src"> - <xsl:call-template name="admon.graphic"/> - </xsl:attribute> - </fo:external-graphic> - </fo:block> - </fo:list-item-label> - <fo:list-item-body start-indent="body-start()"> - <xsl:if test="$admon.textlabel != 0 or title"> - <fo:block xsl:use-attribute-sets="admonition.title.properties"> - <xsl:if test="ancestor-or-self::important"> - <xsl:attribute name="color">#500</xsl:attribute> - </xsl:if> - <xsl:if test="ancestor-or-self::warning"> - <xsl:attribute name="color">#500</xsl:attribute> - </xsl:if> - <xsl:if test="ancestor-or-self::caution"> - <xsl:attribute name="color">#500</xsl:attribute> - </xsl:if> - <xsl:apply-templates select="." mode="object.title.markup"/> - </fo:block> - </xsl:if> - <fo:block xsl:use-attribute-sets="admonition.properties"> - <xsl:apply-templates/> - </fo:block> - </fo:list-item-body> - </fo:list-item> - </fo:list-block> - </fo:block> - </xsl:template> - <!-- How is rendered by default a variablelist --> <xsl:param name="variablelist.as.blocks" select="1"/> <xsl:param name="variablelist.max.termlength">32</xsl:param> @@ -177,4 +169,79 @@ </xsl:choose>--> </xsl:template> + <!-- Presentation of literal tag --> + <xsl:template match="literal"> + <fo:inline font-weight="normal"> + <xsl:call-template name="inline.monoseq"/> + </fo:inline> + </xsl:template> + + <!-- Left alingnament for itemizedlist --> + <xsl:template match="itemizedlist"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + <xsl:variable name="label-width"> + <xsl:call-template name="dbfo-attribute"> + <xsl:with-param name="pis" + select="processing-instruction('dbfo')"/> + <xsl:with-param name="attribute" select="'label-width'"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test="title"> + <xsl:apply-templates select="title" mode="list.title.mode"/> + </xsl:if> + <!-- Preserve order of PIs and comments --> + <xsl:apply-templates + select="*[not(self::listitem + or self::title + or self::titleabbrev)] + |comment()[not(preceding-sibling::listitem)] + |processing-instruction()[not(preceding-sibling::listitem)]"/> + <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing" + provisional-label-separation="0.2em" text-align="left"> + <xsl:attribute name="provisional-distance-between-starts"> + <xsl:choose> + <xsl:when test="$label-width != ''"> + <xsl:value-of select="$label-width"/> + </xsl:when> + <xsl:otherwise>1.5em</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:apply-templates + select="listitem + |comment()[preceding-sibling::listitem] + |processing-instruction()[preceding-sibling::listitem]"/> + </fo:list-block> + </xsl:template> + + <!-- Addibg a bullet, and left alignament, for packages and paches list. --> + +<xsl:template match="varlistentry" mode="vl.as.blocks"> + <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable> + <xsl:choose> + <xsl:when test="ancestor::variablelist/@role = 'materials'"> + <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing" + keep-together.within-column="always" + keep-with-next.within-column="always" text-align="left"> + <xsl:text>• </xsl:text> + <xsl:apply-templates select="term"/> + </fo:block> + <fo:block margin-left="0.1in" text-align="left"> + <xsl:apply-templates select="listitem"/> + </fo:block> + </xsl:when> + <xsl:otherwise> + <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing" + keep-together.within-column="always" + keep-with-next.within-column="always"> + <xsl:apply-templates select="term"/> + </fo:block> + <fo:block margin-left="0.25in"> + <xsl:apply-templates select="listitem"/> + </fo:block> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + </xsl:stylesheet> diff --git a/stylesheets/pdf/lfs-pagesetup.xsl b/stylesheets/pdf/lfs-pagesetup.xsl index 1302ecdb0..7733b45e3 100644 --- a/stylesheets/pdf/lfs-pagesetup.xsl +++ b/stylesheets/pdf/lfs-pagesetup.xsl @@ -62,6 +62,17 @@ </fo:block> </xsl:template> + <!-- Font size for chapter title. --> + <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" + xsl:use-attribute-sets="chapter.titlepage.recto.style" + font-size="21pt" font-weight="bold" text-align="left"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/> + </xsl:call-template> + </fo:block> + </xsl:template> + <!-- Margins --> <xsl:param name="page.margin.inner">0.5in</xsl:param> <xsl:param name="page.margin.outer">0.375in</xsl:param> diff --git a/stylesheets/pdf/lfs-xref.xsl b/stylesheets/pdf/lfs-xref.xsl new file mode 100644 index 000000000..57279c6ec --- /dev/null +++ b/stylesheets/pdf/lfs-xref.xsl @@ -0,0 +1,283 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + version="1.0"> + + <!-- Making a proper punctuation in xref (only for English language).--> + <xsl:template match="xref" name="xref"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:variable name="refelem" select="local-name($target)"/> + <xsl:variable name="role" select="@role"/> + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + <xsl:choose> + <xsl:when test="$refelem=''"> + <xsl:message> + <xsl:text>XRef to nonexistent id: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:when test="$target/@xreflabel"> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </fo:basic-link> + </xsl:when> + <xsl:otherwise> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:apply-templates select="$target" mode="xref-to"> + <xsl:with-param name="referrer" select="."/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="xrefstyle"> + <xsl:value-of select="@xrefstyle"/> + </xsl:with-param> + </xsl:apply-templates> + </fo:basic-link> + </xsl:otherwise> + </xsl:choose> + <!-- Add standard page reference? --> + <xsl:if test="not(starts-with(normalize-space(@xrefstyle), 'select:') != '' + and (contains(@xrefstyle, 'page') + or contains(@xrefstyle, 'Page'))) + and ( $insert.xref.page.number = 'yes' + or $insert.xref.page.number = '1') + or local-name($target) = 'para'"> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties"> + <xsl:apply-templates select="$target" mode="page.citation"> + <xsl:with-param name="id" select="@linkend"/> + </xsl:apply-templates> + </fo:basic-link> + </xsl:if> + </xsl:template> + + <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5 + |refsect1|refsect2|refsect3|refsection" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="role"/> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="role" select="$role"/> + </xsl:apply-templates> + </xsl:template> + + <xsl:template match="*" mode="object.xref.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="referrer"/> + <xsl:param name="role"/> + <xsl:variable name="template"> + <xsl:choose> + <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')"> + <xsl:call-template name="make.gentext.template"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="referrer" select="$referrer"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')"> + <xsl:value-of select="substring-after(normalize-space($xrefstyle), 'template:')"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="object.xref.template"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="$template = ''"> + <xsl:message> + <xsl:text>object.xref.markup: empty xref template</xsl:text> + <xsl:text> for linkend="</xsl:text> + <xsl:value-of select="@id"/> + <xsl:text>" and @xrefstyle="</xsl:text> + <xsl:value-of select="$xrefstyle"/> + <xsl:text>"</xsl:text> + </xsl:message> + </xsl:if> + <xsl:call-template name="substitute-markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="template" select="$template"/> + <xsl:with-param name="role" select="$role"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="substitute-markup"> + <xsl:param name="template" select="''"/> + <xsl:param name="allow-anchors" select="'0'"/> + <xsl:param name="title" select="''"/> + <xsl:param name="subtitle" select="''"/> + <xsl:param name="label" select="''"/> + <xsl:param name="pagenumber" select="''"/> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="referrer"/> + <xsl:param name="role"/> + <xsl:choose> + <xsl:when test="contains($template, '%')"> + <xsl:value-of select="substring-before($template, '%')"/> + <xsl:variable name="candidate" + select="substring(substring-after($template, '%'), 1, 1)"/> + <xsl:choose> + <xsl:when test="$candidate = 't'"> + <xsl:apply-templates select="." mode="insert.title.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="title"> + <xsl:choose> + <xsl:when test="$title != ''"> + <xsl:copy-of select="$title"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="title.markup"> + <xsl:with-param name="allow-anchors" select="$allow-anchors"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 's'"> + <xsl:apply-templates select="." mode="insert.subtitle.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="subtitle"> + <xsl:choose> + <xsl:when test="$subtitle != ''"> + <xsl:copy-of select="$subtitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="subtitle.markup"> + <xsl:with-param name="allow-anchors" select="$allow-anchors"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 'n'"> + <xsl:apply-templates select="." mode="insert.label.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="label"> + <xsl:choose> + <xsl:when test="$label != ''"> + <xsl:copy-of select="$label"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 'p'"> + <xsl:apply-templates select="." mode="insert.pagenumber.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="pagenumber"> + <xsl:choose> + <xsl:when test="$pagenumber != ''"> + <xsl:copy-of select="$pagenumber"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="pagenumber.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 'd'"> + <xsl:apply-templates select="." mode="insert.direction.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="direction"> + <xsl:choose> + <xsl:when test="$referrer"> + <xsl:variable name="referent-is-below"> + <xsl:for-each select="preceding::xref"> + <xsl:if test="generate-id(.) = generate-id($referrer)">1</xsl:if> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="$referent-is-below = ''"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'above'"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'below'"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = '%' "> + <xsl:text>%</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>%</xsl:text><xsl:value-of select="$candidate"/> + </xsl:otherwise> + </xsl:choose> + <!-- recurse with the rest of the template string --> + <xsl:variable name="rest" + select="substring($template, + string-length(substring-before($template, '%'))+3)"/> + <xsl:call-template name="substitute-markup"> + <xsl:with-param name="template" select="$rest"/> + <xsl:with-param name="allow-anchors" select="$allow-anchors"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="subtitle" select="$subtitle"/> + <xsl:with-param name="label" select="$label"/> + <xsl:with-param name="pagenumber" select="$pagenumber"/> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="role" select="$role"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$template"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="*" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + <xsl:param name="role"/> + <xsl:choose> + <xsl:when test="$purpose = 'xref' and titleabbrev"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + <xsl:value-of select="$role"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/stylesheets/xhtml/lfs-admon.xsl b/stylesheets/xhtml/lfs-admon.xsl index e83956d12..9b03394a9 100644 --- a/stylesheets/xhtml/lfs-admon.xsl +++ b/stylesheets/xhtml/lfs-admon.xsl @@ -21,19 +21,20 @@ <xsl:otherwise>Note</xsl:otherwise> </xsl:choose> </xsl:variable> + <xsl:variable name="alt"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="$admon.type"/> + </xsl:call-template> + </xsl:variable> <div class="{name(.)}"> <div class ="admonhead"> - <img alt="[{$admon.type}]"> + <img alt="[{$alt}]"> <xsl:attribute name="src"> <xsl:call-template name="admon.graphic"/> </xsl:attribute> </img> <h3 class="admontitle"> - <xsl:value-of select="$admon.type"/> - <xsl:if test="title"> - <xsl:text>: </xsl:text> - <xsl:value-of select="title"/> - </xsl:if> + <xsl:apply-templates select="." mode="object.title.markup"/> </h3> </div> <div class="admonbody"> diff --git a/stylesheets/xhtml/lfs-index.xsl b/stylesheets/xhtml/lfs-index.xsl index 4e9a43255..15f1f07ec 100644 --- a/stylesheets/xhtml/lfs-index.xsl +++ b/stylesheets/xhtml/lfs-index.xsl @@ -16,16 +16,20 @@ </xsl:template> <!--Title--> - <xsl:param name="index-title">Index of packages and important installed files</xsl:param> + <xsl:param name="index-title">Index</xsl:param> <xsl:template match="index" mode="title.markup"> - <xsl:value-of select="$index-title"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="$index-title"/> + </xsl:call-template> </xsl:template> - + <xsl:template name="index.titlepage"> <div class="titlepage"> <h1 class="index"> - <xsl:value-of select="$index-title"/> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="$index-title"/> + </xsl:call-template> </h1> </div> </xsl:template> @@ -42,19 +46,29 @@ <h2> <xsl:choose> <xsl:when test="$divtitle = 'A'"> - <xsl:text>Packages</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Packages</xsl:with-param> + </xsl:call-template> </xsl:when> <xsl:when test="$divtitle = 'B'"> - <xsl:text>Programs</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Programs</xsl:with-param> + </xsl:call-template> </xsl:when> <xsl:when test="$divtitle = 'C'"> - <xsl:text>Libraries</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Libraries</xsl:with-param> + </xsl:call-template> </xsl:when> <xsl:when test="$divtitle = 'D'"> - <xsl:text>Scripts</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Scripts</xsl:with-param> + </xsl:call-template> </xsl:when> <xsl:when test="$divtitle = 'E'"> - <xsl:text>Others</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Others</xsl:with-param> + </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$divtitle"/> @@ -162,7 +176,9 @@ <xsl:with-param name="object" select="$target2[1]"/> </xsl:call-template> </xsl:attribute> - <xsl:text>description</xsl:text> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">description</xsl:with-param> + </xsl:call-template> </a> </xsl:when> <xsl:otherwise> diff --git a/stylesheets/xhtml/lfs-mixed.xsl b/stylesheets/xhtml/lfs-mixed.xsl index 0660116a4..20344d449 100644 --- a/stylesheets/xhtml/lfs-mixed.xsl +++ b/stylesheets/xhtml/lfs-mixed.xsl @@ -9,9 +9,7 @@ <xsl:choose> <xsl:when test="child::* = userinput"> <pre class="userinput"> - <kbd class="command"> - <xsl:value-of select="."/> - </kbd> + <xsl:apply-templates/> </pre> </xsl:when> <xsl:otherwise> @@ -22,6 +20,20 @@ </xsl:choose> </xsl:template> + <xsl:template match="userinput"> + <xsl:choose> + <xsl:when test="ancestor::screen"> + <kbd class="command"> + <xsl:apply-templates/> + </kbd> + </xsl:when> + <xsl:otherwise> + <xsl:apply-imports/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- variablelist --> <xsl:template match="variablelist"> <div class="{name(.)}"> @@ -60,48 +72,27 @@ </xsl:attribute> </xsl:template> - <!-- Sect1 attributes --> - <xsl:template match="sect1"> - <div> - <xsl:choose> - <xsl:when test="@role"> - <xsl:attribute name="class"> - <xsl:value-of select="@role"/> - </xsl:attribute> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="class"> - <xsl:value-of select="name(.)"/> - </xsl:attribute> - </xsl:otherwise> - </xsl:choose> - <xsl:call-template name="language.attribute"/> - <xsl:call-template name="sect1.titlepage"/> - <xsl:apply-templates/> - <xsl:call-template name="process.chunk.footnotes"/> - </div> + <!-- External URLs in italic font --> + <xsl:template match="ulink" name="ulink"> + <a> + <xsl:if test="@id"> + <xsl:attribute name="id"> + <xsl:value-of select="@id"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute> + <i> + <xsl:choose> + <xsl:when test="count(child::node())=0"> + <xsl:value-of select="@url"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </i> + </a> </xsl:template> - <!-- Sect2 attributes --> - <xsl:template match="sect2"> - <div> - <xsl:choose> - <xsl:when test="@role"> - <xsl:attribute name="class"> - <xsl:value-of select="@role"/> - </xsl:attribute> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="class"> - <xsl:value-of select="name(.)"/> - </xsl:attribute> - </xsl:otherwise> - </xsl:choose> - <xsl:call-template name="language.attribute"/> - <xsl:call-template name="sect2.titlepage"/> - <xsl:apply-templates/> - <xsl:call-template name="process.chunk.footnotes"/> - </div> - </xsl:template> </xsl:stylesheet> diff --git a/stylesheets/xhtml/lfs-navigational.xsl b/stylesheets/xhtml/lfs-navigational.xsl index cfed29ede..bab237142 100644 --- a/stylesheets/xhtml/lfs-navigational.xsl +++ b/stylesheets/xhtml/lfs-navigational.xsl @@ -68,14 +68,32 @@ </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> - <xsl:value-of select="$next/title"/> + <xsl:choose> + <xsl:when test="local-name($next)='index'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Index</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$next/title"/> + </xsl:otherwise> + </xsl:choose> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'next'"/> </xsl:call-template> </a> <p> - <xsl:value-of select="$next/title"/> + <xsl:choose> + <xsl:when test="local-name($next)='index'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Index</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$next/title"/> + </xsl:otherwise> + </xsl:choose> </p> </li> </xsl:if> @@ -160,14 +178,32 @@ </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> - <xsl:value-of select="$next/title"/> + <xsl:choose> + <xsl:when test="local-name($next)='index'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Index</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$next/title"/> + </xsl:otherwise> + </xsl:choose> </xsl:attribute> <xsl:call-template name="navig.content"> <xsl:with-param name="direction" select="'next'"/> </xsl:call-template> </a> <p> - <xsl:value-of select="$next/title"/> + <xsl:choose> + <xsl:when test="local-name($next)='index'"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key">Index</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$next/title"/> + </xsl:otherwise> + </xsl:choose> </p> </li> </xsl:if> diff --git a/stylesheets/xhtml/lfs-sections.xsl b/stylesheets/xhtml/lfs-sections.xsl new file mode 100644 index 000000000..210ea0c46 --- /dev/null +++ b/stylesheets/xhtml/lfs-sections.xsl @@ -0,0 +1,105 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns="http://www.w3.org/1999/xhtml" + version="1.0"> + + + <!-- Sect1 attributes --> + <xsl:template match="sect1"> + <div> + <xsl:choose> + <xsl:when test="@role"> + <xsl:attribute name="class"> + <xsl:value-of select="@role"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class"> + <xsl:value-of select="name(.)"/> + </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:call-template name="language.attribute"/> + <xsl:call-template name="sect1.titlepage"/> + <xsl:apply-templates/> + <xsl:call-template name="process.chunk.footnotes"/> + </div> + </xsl:template> + + <!-- Sect2 attributes --> + <xsl:template match="sect2"> + <div> + <xsl:choose> + <xsl:when test="@role"> + <xsl:attribute name="class"> + <xsl:value-of select="@role"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class"> + <xsl:value-of select="name(.)"/> + </xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:call-template name="language.attribute"/> + <xsl:call-template name="sect2.titlepage"/> + <xsl:apply-templates/> + <xsl:call-template name="process.chunk.footnotes"/> + </div> + </xsl:template> + + <!-- Sections numbering --> + <xsl:param name="section.autolabel" select="1"/> + <xsl:param name="section.label.includes.component.label" select="1"/> + + <!-- Skip numeraration for sections with empty title --> + <xsl:template match="sect2|sect3|sect4|sect5" mode="label.markup"> + <xsl:if test="string-length(title) > 0"> + <!-- label the parent --> + <xsl:variable name="parent.label"> + <xsl:apply-templates select=".." mode="label.markup"/> + </xsl:variable> + <xsl:if test="$parent.label != ''"> + <xsl:apply-templates select=".." mode="label.markup"/> + <xsl:apply-templates select=".." mode="intralabel.punctuation"/> + </xsl:if> + <xsl:choose> + <xsl:when test="@label"> + <xsl:value-of select="@label"/> + </xsl:when> + <xsl:when test="$section.autolabel != 0"> + <xsl:choose> + <xsl:when test="local-name(.) = 'sect2'"> + <xsl:choose> + <!-- If the first sect2 isn't numbered, renumber the remainig sections --> + <xsl:when test="string-length(../sect2[1]/title) = 0"> + <xsl:variable name="totalsect2"> + <xsl:number count="sect2"/> + </xsl:variable> + <xsl:number value="$totalsect2 - 1"/> + </xsl:when> + <xsl:otherwise> + <xsl:number count="sect2"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="local-name(.) = 'sect3'"> + <xsl:number count="sect3"/> + </xsl:when> + <xsl:when test="local-name(.) = 'sect4'"> + <xsl:number count="sect4"/> + </xsl:when> + <xsl:when test="local-name(.) = 'sect5'"> + <xsl:number count="sect5"/> + </xsl:when> + <xsl:otherwise> + <xsl:message>label.markup: this can't happen!</xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + </xsl:choose> + </xsl:if> + </xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/stylesheets/xhtml/lfs-titles.xsl b/stylesheets/xhtml/lfs-titles.xsl index db79fdee3..be65a93ce 100644 --- a/stylesheets/xhtml/lfs-titles.xsl +++ b/stylesheets/xhtml/lfs-titles.xsl @@ -7,6 +7,8 @@ <xsl:template name="part.titlepage"> <div class="titlepage"> <h1 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </h1> </div> @@ -15,6 +17,8 @@ <xsl:template name="chapter.titlepage"> <div class="titlepage"> <h1 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </h1> </div> @@ -28,6 +32,16 @@ </div> </xsl:template> + <xsl:template name="appendix.titlepage"> + <div class="titlepage"> + <h1 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> + <xsl:value-of select="title"/> + </h1> + </div> + </xsl:template> + <xsl:template name="sect1.titlepage"> <xsl:choose> <!-- I should find a better test --> @@ -37,6 +51,8 @@ <a id="{@id}" name="{@id}"/> </xsl:if> <h2 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </h2> </div> @@ -44,6 +60,8 @@ <xsl:otherwise> <div class="titlepage"> <h1 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </h1> </div> @@ -60,6 +78,8 @@ <a id="{@id}" name="{@id}"/> </xsl:if> <h2 class="{name(.)}"> + <xsl:apply-templates select="." mode="label.markup"/> + <xsl:text>. </xsl:text> <xsl:value-of select="title"/> </h2> </div> @@ -75,4 +95,21 @@ </div> </xsl:template> + <!-- Added the role param for proper punctuation in xref calls. --> + <xsl:template match="*" mode="insert.title.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="title"/> + <xsl:param name="role"/> + <xsl:choose> + <xsl:when test="$purpose = 'xref' and titleabbrev"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$title"/> + <xsl:value-of select="$role"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + </xsl:stylesheet> diff --git a/stylesheets/xhtml/lfs-toc.xsl b/stylesheets/xhtml/lfs-toc.xsl index 56ad11ebc..4fb845844 100644 --- a/stylesheets/xhtml/lfs-toc.xsl +++ b/stylesheets/xhtml/lfs-toc.xsl @@ -6,7 +6,7 @@ <!-- General settings --> <xsl:param name="generate.toc"> - appendix toc + appendix nop book toc,title,figure,table,example,equation chapter nop part toc @@ -93,6 +93,23 @@ <xsl:apply-templates select="." mode="titleabbrev.markup"/> </a> </xsl:when> + <xsl:when test="local-name(.) = 'appendix'"> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="context" select="$toc-context"/> + </xsl:call-template> + </xsl:attribute> + <xsl:variable name="label"> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:variable> + <xsl:copy-of select="$label"/> + <xsl:if test="$label != ''"> + <xsl:value-of select="$autotoc.label.separator"/> + </xsl:if> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> + </a> + </xsl:when> <xsl:when test="local-name(.) = 'chapter' or local-name(.) = 'preface'"> <h4> <xsl:variable name="label"> diff --git a/stylesheets/xhtml/lfs-xref.xsl b/stylesheets/xhtml/lfs-xref.xsl new file mode 100644 index 000000000..f82037fe5 --- /dev/null +++ b/stylesheets/xhtml/lfs-xref.xsl @@ -0,0 +1,270 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns="http://www.w3.org/1999/xhtml" + version="1.0"> + + <!-- Making a proper punctuation in xref (only for English language).--> + <xsl:template match="xref" name="xref"> + <xsl:variable name="targets" select="key('id',@linkend)"/> + <xsl:variable name="target" select="$targets[1]"/> + <xsl:variable name="refelem" select="local-name($target)"/> + <xsl:variable name="role" select="@role"/> + <xsl:call-template name="check.id.unique"> + <xsl:with-param name="linkend" select="@linkend"/> + </xsl:call-template> + <xsl:call-template name="anchor"/> + <xsl:choose> + <xsl:when test="count($target) = 0"> + <xsl:message> + <xsl:text>XRef to nonexistent id: </xsl:text> + <xsl:value-of select="@linkend"/> + </xsl:message> + <xsl:text>???</xsl:text> + </xsl:when> + <xsl:when test="$target/@xreflabel"> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$target"/> + </xsl:call-template> + </xsl:variable> + <xsl:apply-templates select="$target" mode="xref-to-prefix"/> + <a href="{$href}"> + <xsl:if test="$target/title or $target/*/title"> + <xsl:attribute name="title"> + <xsl:apply-templates select="$target" mode="xref-title"/> + </xsl:attribute> + </xsl:if> + <xsl:apply-templates select="$target" mode="xref-to"> + <xsl:with-param name="referrer" select="."/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="xrefstyle"> + <xsl:value-of select="@xrefstyle"/> + </xsl:with-param> + </xsl:apply-templates> + </a> + <xsl:apply-templates select="$target" mode="xref-to-suffix"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="section|simplesect|sect1|sect2|sect3|sect4|sect5|refsect1 + |refsect2|refsect3|refsection" mode="xref-to"> + <xsl:param name="referrer"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="role"/> + <xsl:apply-templates select="." mode="object.xref.markup"> + <xsl:with-param name="purpose" select="'xref'"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="role" select="$role"/> + </xsl:apply-templates> + </xsl:template> + + + <xsl:template match="*" mode="object.xref.markup"> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="referrer"/> + <xsl:param name="role"/> + <xsl:variable name="template"> + <xsl:choose> + <xsl:when test="starts-with(normalize-space($xrefstyle), 'select:')"> + <xsl:call-template name="make.gentext.template"> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="referrer" select="$referrer"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')"> + <xsl:value-of select="substring-after(normalize-space($xrefstyle), 'template:')"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="object.xref.template"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:if test="$template = ''"> + <xsl:message> + <xsl:text>object.xref.markup: empty xref template</xsl:text> + <xsl:text> for linkend="</xsl:text> + <xsl:value-of select="@id"/> + <xsl:text>" and @xrefstyle="</xsl:text> + <xsl:value-of select="$xrefstyle"/> + <xsl:text>"</xsl:text> + </xsl:message> + </xsl:if> + <xsl:call-template name="substitute-markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="template" select="$template"/> + <xsl:with-param name="role" select="$role"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="substitute-markup"> + <xsl:param name="template" select="''"/> + <xsl:param name="allow-anchors" select="'0'"/> + <xsl:param name="title" select="''"/> + <xsl:param name="subtitle" select="''"/> + <xsl:param name="label" select="''"/> + <xsl:param name="pagenumber" select="''"/> + <xsl:param name="purpose"/> + <xsl:param name="xrefstyle"/> + <xsl:param name="referrer"/> + <xsl:param name="role"/> + <xsl:choose> + <xsl:when test="contains($template, '%')"> + <xsl:value-of select="substring-before($template, '%')"/> + <xsl:variable name="candidate" + select="substring(substring-after($template, '%'), 1, 1)"/> + <xsl:choose> + <xsl:when test="$candidate = 't'"> + <xsl:apply-templates select="." mode="insert.title.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="role" select="$role"/> + <xsl:with-param name="title"> + <xsl:choose> + <xsl:when test="$title != ''"> + <xsl:copy-of select="$title"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="title.markup"> + <xsl:with-param name="allow-anchors" select="$allow-anchors"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 's'"> + <xsl:apply-templates select="." mode="insert.subtitle.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="subtitle"> + <xsl:choose> + <xsl:when test="$subtitle != ''"> + <xsl:copy-of select="$subtitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="subtitle.markup"> + <xsl:with-param name="allow-anchors" select="$allow-anchors"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 'n'"> + <xsl:apply-templates select="." mode="insert.label.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="label"> + <xsl:choose> + <xsl:when test="$label != ''"> + <xsl:copy-of select="$label"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="label.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 'p'"> + <xsl:apply-templates select="." mode="insert.pagenumber.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="pagenumber"> + <xsl:choose> + <xsl:when test="$pagenumber != ''"> + <xsl:copy-of select="$pagenumber"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="." mode="pagenumber.markup"/> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = 'd'"> + <xsl:apply-templates select="." mode="insert.direction.markup"> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="direction"> + <xsl:choose> + <xsl:when test="$referrer"> + <xsl:variable name="referent-is-below"> + <xsl:for-each select="preceding::xref"> + <xsl:if test="generate-id(.) = generate-id($referrer)">1</xsl:if> + </xsl:for-each> + </xsl:variable> + <xsl:choose> + <xsl:when test="$referent-is-below = ''"> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'above'"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'below'"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$candidate = '%' "> + <xsl:text>%</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>%</xsl:text><xsl:value-of select="$candidate"/> + </xsl:otherwise> + </xsl:choose> + <!-- recurse with the rest of the template string --> + <xsl:variable name="rest" + select="substring($template, + string-length(substring-before($template, '%'))+3)"/> + <xsl:call-template name="substitute-markup"> + <xsl:with-param name="template" select="$rest"/> + <xsl:with-param name="allow-anchors" select="$allow-anchors"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="subtitle" select="$subtitle"/> + <xsl:with-param name="label" select="$label"/> + <xsl:with-param name="pagenumber" select="$pagenumber"/> + <xsl:with-param name="purpose" select="$purpose"/> + <xsl:with-param name="xrefstyle" select="$xrefstyle"/> + <xsl:with-param name="referrer" select="$referrer"/> + <xsl:with-param name="role" select="$role"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$template"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> |