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
This commit is contained in:
Manuel Canales Esparcia 2004-12-19 21:17:48 +00:00
parent 6d3af72bf2
commit f7bd105db3
25 changed files with 1268 additions and 306 deletions

View File

@ -20,9 +20,9 @@ lfs:
cp $(XSLROOTDIR)/images/*.png \
$(BASEDIR)/images
cd $(BASEDIR)/; sed -i -e "s@../stylesheets@stylesheets@g" \
index.html part1.html part2.html part3.html longindex.html
*.html
cd $(BASEDIR)/; sed -i -e "s@../images@images@g" \
index.html part1.html part2.html part3.html longindex.html
*.html
for filename in `find $(BASEDIR) -name "*.html"`; do \
tidy -config tidy.conf $$filename; \
@ -47,7 +47,7 @@ lfs:
pdf:
xsltproc --xinclude --nonet --stringparam profile.condition print \
--output $(BASEDIR)/lfs-pdf.xml stylesheets/lfs-profile.xsl index-pdf.xml
--output $(BASEDIR)/lfs-pdf.xml stylesheets/lfs-profile.xsl index.xml
xsltproc --nonet --output $(BASEDIR)/lfs-pdf.fo stylesheets/lfs-pdf.xsl \
$(BASEDIR)/lfs-pdf.xml
sed -i -e "s/inherit/all/" $(BASEDIR)/lfs-pdf.fo

View File

@ -1,29 +0,0 @@
#!/bin/bash
###############################################################################
# #
# File: entResolver #
# #
# Description: Works around libxml2 bug 135713 by preprocessing entity #
# references before performing any stylesheet processing. #
# #
# Author: Manuel Canales Esparcia #
# #
###############################################################################
NAME=`basename "$0"`
DESTDIR="$1"
if [ -z "$1" ]; then
echo "USAGE: $NAME destdir"
exit
fi
mkdir -p ../"$DESTDIR"/chapter0{1,2,3,4,5,6,7,8,9}
mkdir -p ../"$DESTDIR"/prologue
mkdir -p ../"$DESTDIR"/appendix{a,b}
for i in `find . -name "*.xml"`; do
xmllint --nonet --noent "${i}" > ../"$DESTDIR"/"${i}";
done
cp -a stylesheets ../"$DESTDIR"

17
goTidy
View File

@ -1,17 +0,0 @@
#!/bin/bash
#######################################################################
#
# File: goTidy
#
# Description: Tidy is best used inside a loop, but Makefiles don't do
# bash loops well. This file alleviates that problem.
#
# Author: James Robertson
#
########################################################################
for file in `find "$1" -name "*.html"`; do
tidy -config tidy.conf $file
done
exit 0

View File

@ -1,49 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "general.ent">
%general-entities;
]>
<book>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/bookinfo.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/dedication.xml"/>
<preface id="preface">
<title>Preface</title>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/foreword.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/audience.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/prerequisites.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/typography.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/organization.xml"/>
</preface>
<part id="part1">
<title>Introduction</title>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter01/chapter01.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter02/chapter02.xml"/>
</part>
<part id="part2">
<title>Preparing for the build</title>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter03/chapter03.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter04/chapter04.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter05/chapter05.xml"/>
</part>
<part id="part3">
<title>Building the LFS system</title>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter06/chapter06.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter07/chapter07.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter08/chapter08.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter09/chapter09.xml"/>
</part>
<index/>
<appendix><title/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/acknowledgments.xml"/>
</appendix>
</book>

View File

@ -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"/>

View File

@ -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'"/>

44
stylesheets/lfs-l10n.xml Normal file
View File

@ -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&#243;n"/>
<l:gentext key="Libraries" text="Librer&#237;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>

View File

@ -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;

View File

@ -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 -->

View File

@ -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>

View File

@ -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;

View File

@ -32,23 +32,27 @@
<xsl:template match="//ulink">
<xsl:if test="contains(@url, '.patch') and contains(@url, '&patches-root;')">
<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, ',')">
<xsl:value-of select="substring-before (substring-after($cut, $links.directory), ',2')"/>
<xsl:value-of select="substring-before (substring-after($cut, $links.directory2), ',2')"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="contains ($cut, '-src-2')">
<xsl:value-of select="substring-before (substring-after($cut, $links.directory), '-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.directory), '-2')"/>
<xsl:value-of select="substring-before (substring-after($cut, $links.directory2), '-2')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
@ -57,6 +61,8 @@
<xsl:text>/</xsl:text>
<xsl:value-of select="substring-after(@url, $links.directory)"/>
<xsl:text> . &#x0a;</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>

View File

@ -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>

View File

@ -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,19 +32,29 @@
<xsl:with-param name="titlecontent">
<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"/>

View File

@ -5,20 +5,94 @@
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>
<!-- Split URLs -->
<xsl:template name="hyphenate-url">
<!-- 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>
<!-- 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>&#xA0;</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>&#x2022; </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>

View File

@ -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>

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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"/>
<!-- 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:attribute name="class">
<xsl:value-of select="name(.)"/>
</xsl:attribute>
<xsl:apply-templates/>
</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>
</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>

View File

@ -68,14 +68,32 @@
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="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: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: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: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>

View File

@ -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>

View File

@ -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>

View File

@ -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">

View File

@ -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>