Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 561 → Rev 562

/trunk/lfs/stylesheets/lfs-nochunks.xsl
1,35 → 1,335
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-chunked.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- We use XHTML -->
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/docbook.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/docbook.xsl"/>
<!-- We use XHTML -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/profile-docbook.xsl"/>
 
<!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet -->
<!-- Fix encoding issues with default UTF-8 output of the xhtml stylesheet -->
<xsl:output method="html" encoding="ISO-8859-1" indent="no" />
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-admon.xsl"/>
 
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-index.xsl"/>
<xsl:include href="xhtml/lfs-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<!-- The following breaks hyperlinks in the TOC -->
<!-- <xsl:include href="xhtml/lfs-titles.xsl"/> -->
<xsl:include href="xhtml/lfs-sections.xsl"/>
<xsl:include href="xhtml/lfs-toc.xsl"/>
<xsl:include href="xhtml/lfs-xref.xsl"/>
 
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'lfs.css'"/>
<!-- This file contains our localization strings (for internationalization) -->
<xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/>
 
<!-- Dropping some unwanted style attributes -->
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
 
<!-- Don't use graphics in admonitions -->
<xsl:param name="admon.graphics" select="0"/>
 
<!-- Changing the admonitions output tagging -->
<xsl:template name="nongraphical.admonition">
<div class="{name(.)}">
<div class ="admonhead">
<h3 class="admontitle">
<xsl:apply-templates select="." mode="object.title.markup"/>
</h3>
</div>
<div class="admonbody">
<xsl:apply-templates/>
</div>
</div>
</xsl:template>
 
<!-- 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">
<xsl:text>
/* Global settings */
body {
font-family: sans-serif;
text-align: left;
background: #fff;
color: #333;
margin: 1em;
padding: 0;
font-size: 1em;
line-height: 1.2em
}
 
a:link { color: #22b; }
a:visited { color: #7e4988; }
a:hover, a:focus { color: #d30e08; }
a:active { color: #6b77b1;}
 
/* Headers */
h1, h2, b, strong {
color: #000;
font-weight: bold;
}
 
h3, h4, h5, h6 {
color: #222;
}
 
h1 { font-size: 173%; text-align: center; }
h2 { font-size: 144%; }
h2.subtitle { text-align: center; }
h3 { font-size: 120%; padding-top: 0.2em; margin-top: 0.3em; }
h4 { font-size: 110%;}
h5, h6 { font-size: 110%; font-style: italic; }
 
/* TOC and Index*/
 
div.toc ul, div.index ul, div.navheader ul, div.navfooter ul {
list-style: none;
}
 
div.toc, div.dedication {
padding-left: 1em;
}
 
li.preface {
margin-left: 1em;
}
 
div.toc ul li h3, div.toc ul li h4 {
margin: .4em;
}
 
.item {
width: 15em;
float: left;
}
 
.secitem {
font-weight: normal;
width: 14em;
float: left;
}
 
/* Admonitions */
div.note, div.tip {
background-color: #fffff6;
border: 2px solid #dbddec;
width: 90%;
margin: .5em auto;
}
 
div.important, div.warning, div.caution {
background-color: #fffff6;
border: medium solid #400;
width: 90%;
margin: 1.5em auto;
color: #600;
font-size: larger;
}
 
div.important h3, div.warning h3, div.caution h3 {
color: #900;
}
 
h3.admontitle {
padding-left: 2.5em;
padding-top: 1em;
}
 
div.admonbody {
margin: .5em;
}
 
div.important em, div.warning em, div.caution em {
color: #000;
font-weight: bold;
}
 
div.important tt, div.warning tt, div.caution tt {
font-weight: bold;
}
 
/* variablelist and segmentedlist */
dl {
margin: 0;
padding: 0;
}
 
dt {
display: list-item;
font-weight: bold;
margin: .33em 0 0 1em;
padding: 0;
}
 
div.content dt {
list-style: none;
}
 
dd {
margin: 0 0 1em 3em;
padding: 0;
}
 
div.variablelist dd {
margin-bottom: 1em;
}
 
div.variablelist dd p {
margin-top: 0px;
}
 
dl.materials dd {
margin-left: 0px;
}
 
div.segmentedlist {
margin-top: 1em;
}
 
div.segmentedlist p {
margin: 0px auto;
}
 
/* itemizedlist */
 
div.itemizedlist {
margin-left: 1em;
}
 
/* Indented blocks */
p, ul, dl, code, blockquote {
padding-left: 1em;
}
 
/* Monospaced elements */
tt, code, kbd, pre, .command {
font-family: monospace;
}
 
pre.userinput {
color: #101310;
background-color: #e5e5e5;
border: 1px solid #050505;
padding: .5em 1em;
margin: 0 2em;
font-weight: bold;
}
 
pre.screen {
background-color: #e9e9e9;
border: 1px solid #050505;
padding: .5em 1em;
margin: 0 2em;
}
 
/* Sections */
div.package {
background: #f5f6f7;
border-bottom: 0.2em solid #dbddec;
padding: 0.5em 0.5em 0.3em 0.5em;
margin: 0px auto;
}
 
div.installation {
padding: 0 0.5em 0.3em 0.5em;
margin: 0.5em 0 0.5em 0;
}
 
div.configuration {
background: #fefefe;
border-top: 0.2em solid #dbddec;
padding: 0.5em;
margin: 0.5em 0 .5em 0;
}
 
div.content {
background: #f5f6f7;
border-top: 0.2em solid #dbddec;
border-bottom: 0.2em solid #dbddec;
padding: 0.5em 0.5em 1em 0.5em;
margin: 0.5em 0 .5em 0;
}
 
div.installation h3.title, div.content h3.title {
padding-top: 0.3em;
margin: 0;
}
 
div.book, div.preface, div.part, div.chapter, div.sect1, div.index {
padding-bottom: 0.5em;
}
 
div.preface h2, div.part h1, div.chapter h2.title, div.sect1 h2.title, div.index h1 {
background: #f5f6f7;
border-bottom: .2em solid #dbddec;
border-top: .2em solid #dbddec;
margin-top 1em;
padding: .5em;
text-align: center;
}
 
div.book h1 {
background: #f5f6f7;
margin: 0px auto;
padding: 0.5em;
}
 
div.book h2.subtitle {
background: #dbddec;
margin: 0px auto;
padding: 0.2em;
}
div.authorgroup, div p.copyright, div.abstract {
background: #f5f6f7;
margin: 0px auto;
padding: 1em 0.5em;
}
 
hr {
background: #dbddec;
height: .3em;
border: 0px;
margin: 0px auto;
padding: 0;
}
</xsl:text>
</style>
</xsl:template>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/lfs-pdf.xsl
1,61 → 1,59
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-pdf.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
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.65.1/fo/docbook.xsl"/>
<!-- We use FO and FOP as the processor -->
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/fo/docbook.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/fo/docbook.xsl"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'no'"/>
 
<!-- Including our others customized templates -->
<!-- Including our others customized templates -->
<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"/>
 
<!-- Probably want to make the paper size configurable -->
<!-- This file contains our localization strings (for internationalization) -->
<xsl:param name="local.l10n.xml" select="document('lfs-l10n.xml')"/>
 
<!-- Standart paper size -->
<xsl:param name="paper.type" select="'A4'"/>
 
<!-- Don't hyphenate -->
<!-- Paper size required by the publisher
<xsl:param name="paper.type" select="'Customized'"/>
<xsl:param name="page.width">7.25in</xsl:param>
<xsl:param name="page.height">9.25in</xsl:param>
-->
 
<!-- Printing Style -->
<!-- Change "double.sided" to "1" for published versions -->
<xsl:param name="double.sided" select="0"/>
<xsl:param name="hyphenate">false</xsl:param>
<xsl:param name="alignment">left</xsl:param>
<xsl:param name="alignment">justify</xsl:param>
 
<!-- Font size -->
<xsl:param name="body.font.master">8</xsl:param>
<xsl:param name="body.font.size">10pt</xsl:param>
<!-- Font size -->
<xsl:param name="body.font.master">9</xsl:param>
<xsl:param name="body.font.size">12pt</xsl:param>
 
<!-- Graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path"
select="'/usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/'"/>
 
<!-- Shade screen -->
<xsl:param name="shade.verbatim" select="1"/>
 
<!-- TOC generation -->
<!-- TOC stuff -->
<xsl:param name="generate.toc">
book toc
part nop
</xsl:param>
<xsl:param name="toc.section.depth">1</xsl:param>
<xsl:param name="generate.section.toc.level" select="-1"/>
<xsl:param name="toc.indent.width" select="18"/>
<xsl:param name="generate.section.toc.level" select="-1"></xsl:param>
<xsl:param name="toc.indent.width" select="18"></xsl:param>
 
<!-- Page number in Xref-->
<xsl:param name="insert.xref.page.number">yes</xsl:param>
<xsl:template match="*" mode="page.citation">
<xsl:param name="id" select="'???'"/>
<fo:inline keep-together.within-line="always">
<xsl:text>[p.</xsl:text>
<fo:page-number-citation ref-id="{$id}"/>
<xsl:text>]</xsl:text>
</fo:inline>
</xsl:template>
<!-- Page number in Xref ?-->
<xsl:param name="insert.xref.page.number">no</xsl:param>
 
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->
<!-- Prevent duplicate e-mails in the Acknowledgments pages-->
<xsl:param name="ulink.show" select="0"/>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/lfs-print.css
0,0 → 1,6
 
@import url(lfs.css);
 
.navfooter, .headerlinks {
display: none;
}
/trunk/lfs/stylesheets/lfs-profile.xsl
1,13 → 1,38
<?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">
 
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/profiling/profile.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/profiling/profile.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-15'"/>
<!-- Include common profiling stylesheet -->
<!--
<xsl:include href="http://docbook.sourceforge.net/release/xsl/1.69.1/profiling/profile-mode.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/profiling/profile-mode.xsl"/>
 
<!-- Generate DocBook instance with correct DOCTYPE -->
<xsl:output method="xml"
doctype-public="-//OASIS//DTD DocBook XML V4.4//EN"
doctype-system="http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"/>
 
<!-- Profiling parameters -->
<xsl:param name="profile.arch" select="''"/>
<xsl:param name="profile.condition" select="''"/>
<xsl:param name="profile.conformance" select="''"/>
<xsl:param name="profile.lang" select="''"/>
<xsl:param name="profile.os" select="''"/>
<xsl:param name="profile.revision" select="''"/>
<xsl:param name="profile.revisionflag" select="''"/>
<xsl:param name="profile.role" select="''"/>
<xsl:param name="profile.security" select="''"/>
<xsl:param name="profile.userlevel" select="''"/>
<xsl:param name="profile.vendor" select="''"/>
<xsl:param name="profile.attribute" select="''"/>
<xsl:param name="profile.value" select="''"/>
<xsl:param name="profile.separator" select="';'"/>
 
<!-- Call common profiling mode -->
<xsl:template match="/">
<xsl:apply-templates select="." mode="profile"/>
</xsl:template>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/lfs-chunked.xsl
1,36 → 1,42
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original lfs-chunked.xsl created by Matthew Burgess -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- We use XHTML -->
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.65.1/xhtml/chunk.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/chunk.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-15'"/>
<!-- Including our others customized templates -->
<xsl:include href="xhtml/lfs-admon.xsl"/>
<xsl:import href="lfs-chunked2.xsl"/>
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/chunk-common.xsl"/>
<xsl:include href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/manifest.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/chunk-common.xsl"/>
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/manifest.xsl"/>
 
 
<!-- From the original chunk.xsl file:
 
Why is chunk-code now xsl:included?
 
Suppose you want to customize *both* the chunking algorithm used *and* the
presentation of some elements that may be chunks. In order to do that, you
must get the order of imports "just right". The answer is to make your own
copy of this file, where you replace the initial import of "docbook.xsl"
with an import of your own base.xsl (that does its own import of docbook.xsl).
 
Put the templates for changing the presentation of elements in your base.xsl.
 
Put the templates that control chunking after the include of chunk-code.xsl.
 
Voila! (Man I hope we can do this better in XSLT 2.0) -->
 
<!--
<xsl:include href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/profile-chunk-code.xsl"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/profile-chunk-code.xsl"/>
 
<!-- Including our others customized chunks templates -->
<xsl:include href="xhtml/lfs-legalnotice.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>
<xsl:include href="xhtml/lfs-legalnotice.xsl"/>
<xsl:include href="xhtml/lfs-mixed.xsl"/>
<xsl:include href="xhtml/lfs-navigational.xsl"/>
<xsl:include href="xhtml/lfs-titles.xsl"/>
<xsl:include href="xhtml/lfs-toc.xsl"/>
 
<!-- The CSS Stylesheet -->
<xsl:param name="html.stylesheet" select="'../stylesheets/lfs.css'"/>
 
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
<!-- No XML declaration -->
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/patcheslist.xsl
1,24 → 1,57
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
 
<!-- Version 0.9pre1 - Manuel Canales Esparcia <macana@lfs-es.org>
Based on the original patcheslist.xsl posted by Matthew Burgess -->
 
<!-- This also work again BLFS -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
 
<xsl:output method="text"/>
<xsl:output method="text"/>
 
<xsl:template match="//text()">
<xsl:text/>
<!-- Allow select the dest dir at runtime -->
<xsl:param name="dest.dir">
<xsl:value-of select="concat('/home/httpd/', substring-after('&patches-root;', 'http://'))"/>
</xsl:param>
 
<xsl:template match="/">
<xsl:text>#! /bin/bash&#x0a;&#x0a;</xsl:text>
<xsl:text> umask 002&#x0a;&#x0a;</xsl:text>
<!-- Create dest.dir if it don't exist -->
<xsl:text> install -d -m 775 -g lfswww </xsl:text>
<xsl:value-of select="$dest.dir"/>
<xsl:text> &amp;&amp;&#x0a;</xsl:text>
<xsl:text> cd </xsl:text>
<xsl:value-of select="$dest.dir"/>
<xsl:text> &amp;&amp;&#x0a;&#x0a;</xsl:text>
<!-- Touch a dummy patch to prevent fails if dest dir is empty, then remove old patches -->
<xsl:text> touch dummy.patch &amp;&amp;&#x0a; rm -f *.patch &amp;&amp;&#x0a;&#x0a;</xsl:text>
<xsl:apply-templates/>
<!-- Ensure correct owneship -->
<xsl:text>&#x0a; chgrp lfswww *.patch &amp;&amp;&#x0a;</xsl:text>
<xsl:text>&#x0a; exit&#x0a;</xsl:text>
</xsl:template>
 
<xsl:template match="//ulink">
<xsl:if test="contains(@url, '.patch')">
<xsl:value-of select="@url"/>
<xsl:text>&#x0a;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="//text()"/>
 
<xsl:template match="//ulink">
<!-- Match only local patches links and skip duplicated URLs splitted for PDF output-->
<xsl:if test="contains(@url, '.patch') and contains(@url, '&patches-root;')
and not(ancestor-or-self::*/@condition = 'pdf')">
<xsl:variable name="patch.name" select="substring-after(@url, '&patches-root;')"/>
<xsl:variable name="cut"
select="translate(substring-after($patch.name, '-'), '0123456789', '0000000000')"/>
<xsl:variable name="patch.name2">
<xsl:value-of select="substring-before($patch.name, '-')"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="$cut"/>
</xsl:variable>
<xsl:text> cp /home/httpd/www.linuxfromscratch.org/patches/downloads/</xsl:text>
<xsl:value-of select="substring-before($patch.name2, '-0')"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$patch.name"/>
<xsl:text> . &#x0a;</xsl:text>
</xsl:if>
</xsl:template>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/pdf/lfs-pagesetup.xsl
1,50 → 1,39
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">
<xsl:choose>
<xsl:when test="not(position()=last())">
<xsl:text>page</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>auto</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
 
<!-- Header -->
<xsl:attribute-set name="header.content.properties">
<xsl:attribute name="font-family">
<xsl:value-of select="$body.fontset"/>
</xsl:attribute>
<xsl:attribute name="text-align">right</xsl:attribute>
</xsl:attribute-set>
 
<!-- Header -->
<xsl:template name="header.content">
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
<xsl:param name="sequence" select="''"/>
<fo:block>
<xsl:attribute name="text-align">
<xsl:choose>
<xsl:when test="$sequence = 'first' or $sequence = 'odd'">right</xsl:when>
<xsl:otherwise>left</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
</fo:block>
</xsl:template>
 
<xsl:template name="header.table">
<xsl:param name="sequence" select="''"/>
<xsl:param name="gentext-key" select="''"/>
<xsl:choose>
<xsl:when test="$gentext-key = 'book'"/>
<xsl:when test="$gentext-key = 'book' or $sequence = 'blank'"/>
<xsl:otherwise>
<xsl:call-template name="header.content"/>
<xsl:call-template name="header.content">
<xsl:with-param name="sequence" select="$sequence"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<!-- Centered titles for book and part -->
<!-- Centered titles for book and part -->
<xsl:template name="book.titlepage">
<fo:block space-before="2in">
<fo:block>
60,7 → 49,7
</xsl:template>
 
<xsl:template name="part.titlepage">
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:block>
<fo:block space-before="2.5in">
<xsl:call-template name="part.titlepage.before.recto"/>
<xsl:call-template name="part.titlepage.recto"/>
73,22 → 62,34
</fo:block>
</xsl:template>
 
<!-- Margins -->
<xsl:param name="page.margin.inner">0.75in</xsl:param>
<xsl:param name="page.margin.outer">0.75in</xsl:param>
<xsl:param name="title.margin.left">-1pc</xsl:param>
<!-- 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>
<xsl:param name="body.start.indent" select="'0.7pc'"/>
<xsl:param name="title.margin.left">-0.7pc</xsl:param>
<xsl:attribute-set name="normal.para.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.block.spacing">
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="list.item.spacing">
<xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
96,20 → 97,21
<xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="verbatim.properties">
<xsl:attribute name="space-before.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-before.maximum">1em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.maximum">1em</xsl:attribute>
<xsl:attribute name="space-before.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-before.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-before.maximum">0.8em</xsl:attribute>
<xsl:attribute name="space-after.optimum">0.6em</xsl:attribute>
<xsl:attribute name="space-after.minimum">0.4em</xsl:attribute>
<xsl:attribute name="space-after.maximum">0.8em</xsl:attribute>
</xsl:attribute-set>
 
<!-- Others-->
<!-- Others-->
<xsl:param name="header.rule" select="0"></xsl:param>
<xsl:param name="footer.rule" select="0"></xsl:param>
<xsl:param name="marker.section.level" select="-1"></xsl:param>
<xsl:param name="marker.section.level" select="-1"></xsl:param>
 
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>
<!-- Dropping a blank page -->
<xsl:template name="book.titlepage.separator"/>
 
 
</xsl:stylesheet>
/trunk/lfs/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/stylesheet/nwalsh/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:apply-templates select="." mode="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="18pt">
<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>
/trunk/lfs/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>
/trunk/lfs/stylesheets/pdf/lfs-mixed.xsl
0,0 → 1,247
<?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">
 
 
<!-- 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>
 
<!-- 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) > 90">
<xsl:value-of select="substring($url, 1, 50)"/>
<xsl:param name="rest" select="substring($url, 51)"/>
<xsl:value-of select="substring-before($rest, '/')"/>
<xsl:text> /</xsl:text>
<xsl:value-of select="substring-after($rest, '/')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$url"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<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:choose>
</xsl:template>-->
 
<!--<xsl:template name="split-url">
<xsl:choose>
<xsl:when test="contains($url2, '/')">
<xsl:param name="url2" select="''"/>
<xsl:value-of select="substring-before($url2, '/')"/>
<xsl:text> /</xsl:text>
<xsl:call-template name="split-url">
<xsl:with-param name="url2" select="substring-after($url2, '/')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$url2"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>-->
 
<!-- Shade screen -->
<xsl:param name="shade.verbatim" select="1"/>
 
<!-- How is rendered by default a variablelist -->
<xsl:param name="variablelist.as.blocks" select="1"/>
<xsl:param name="variablelist.max.termlength">32</xsl:param>
 
<!-- Adding space before segmentedlist -->
<xsl:template match="segmentedlist">
<!--<xsl:variable name="presentation">
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis"
select="processing-instruction('dbfo')"/>
<xsl:with-param name="attribute" select="'list-presentation'"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$presentation = 'table'">
<xsl:apply-templates select="." mode="seglist-table"/>
</xsl:when>
<xsl:when test="$presentation = 'list'">
<fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
space-before.maximum="0.8em">
<xsl:apply-templates/>
</fo:block>
</xsl:when>
<xsl:when test="$segmentedlist.as.table != 0">
<xsl:apply-templates select="." mode="seglist-table"/>
</xsl:when>
<xsl:otherwise>-->
<fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
space-before.maximum="0.8em">
<xsl:apply-templates/>
</fo:block>
<!--</xsl:otherwise>
</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="1.4pc" 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>
/trunk/lfs/stylesheets/pdf/lfs-index.xsl
3,26 → 3,22
<!ENTITY lowercase "'abcdefghijklmnopqrstuvwxyz'">
<!ENTITY uppercase "'ABCDEFGHIJKLMNOPQRSTUVWXYZ'">
<!ENTITY primary 'normalize-space(concat(primary/@sortas, primary[not(@sortas)]))'>
<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, secondary[not(@sortas)]))'>
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
<!ENTITY sep '" "'>
]>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
 
<!--Only one column to fit the table layout-->
<xsl:param name="column.count.index" select="1"/>
 
<!--Title-->
<xsl:template match="index" mode="title.markup">
<xsl:text>Index des packages et des fichiers importants installés</xsl:text>
</xsl:template>
<xsl:param name="allow-anchors" select="0"/>
<xsl:call-template name="gentext">
<xsl:with-param name="key">Index</xsl:with-param>
</xsl:call-template>
</xsl:template>
 
<!-- Divisions-->
<!-- Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key"
36,101 → 32,60
<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>Programmes</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>Bibliothèques</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>Autres</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"/>
</xsl:otherwise>
</xsl:choose>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-number="1" column-width="11em"/>
<fo:table-column column-number="2" column-width="19em"/>
<fo:table-column column-number="3"/>
<fo:table-body>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]"
mode="index-primary">
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</fo:table-body>
</fo:table>
<fo:block>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]"
mode="index-primary">
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</fo:block>
</fo:block>
</xsl:if>
</xsl:template>
 
<!-- Dropping the separator from here -->
<!-- The separator -->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:call-template name="reference">
<xsl:text>: </xsl:text>
<xsl:call-template name="reference">
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
 
<!-- Changing the output tags and re-addind the separator-->
<xsl:template match="indexterm" mode="index-primary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="&primary;"/>
<xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</fo:block>
</fo:table-cell>
<xsl:for-each select="$refs[not(see) and not(seealso)
and not(secondary)]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</fo:table-row>
<xsl:if test="$refs/secondary">
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &sep;, &secondary;))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&secondary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
 
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &sep;, &secondary;)"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<fo:table-row>
<fo:table-cell>
<fo:block start-indent="1pc">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</fo:block>
</fo:table-cell>
<xsl:for-each select="$refs[not(see) and not(seealso) and not(tertiary)]">
<xsl:apply-templates select="." mode="reference">
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
</fo:table-row>
</xsl:template>
<!-- Targets titles and bookmarks-->
<!--Bookmarks-->
<xsl:template name="reference">
<xsl:param name="scope" select="."/>
<xsl:param name="zones"/>
150,26 → 105,17
<xsl:with-param name="object" select="$target2[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id}">
<xsl:value-of select="$target/title"/>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id2}">
<xsl:text>description</xsl:text>
<xsl:apply-templates select="$target2" mode="page.citation">
<xsl:with-param name="id" select="$id2"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
<fo:basic-link internal-destination="{$id}">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
<xsl:text> , </xsl:text>
<fo:basic-link internal-destination="{$id2}">
<xsl:apply-templates select="$target2" mode="page.citation">
<xsl:with-param name="id" select="$id2"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="zone" select="$zones"/>
179,18 → 125,23
<xsl:with-param name="object" select="$target[1]"/>
</xsl:call-template>
</xsl:variable>
<fo:table-cell>
<fo:block>
<fo:basic-link internal-destination="{$id}">
<xsl:value-of select="$target/title"/>
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</fo:block>
</fo:table-cell>
<fo:basic-link internal-destination="{$id}">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$id"/>
</xsl:apply-templates>
</fo:basic-link>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<!-- Page number in Index-->
<xsl:template match="*" mode="page.citation">
<xsl:param name="id" select="'???'"/>
<fo:inline keep-together.within-line="always">
<!--<xsl:text>[p</xsl:text>-->
<fo:page-number-citation ref-id="{$id}"/>
<!--<xsl:text>]</xsl:text>-->
</fo:inline>
</xsl:template>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/pdf/lfs-sections.xsl
0,0 → 1,100
<?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">
 
<!-- Force section1's onto a new page -->
<xsl:attribute-set name="section.level1.properties">
<xsl:attribute name="break-after">
<xsl:choose>
<xsl:when test="not(position()=last())">
<xsl:text>page</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>auto</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
 
<!-- 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>
 
<!-- Drop the trailing punctuation if title is empty -->
<xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect
|bridgehead"
mode="object.title.template">
<xsl:choose>
<xsl:when test="$section.autolabel != 0">
<xsl:if test="string-length(title) > 0">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'title-numbered'"/>
<xsl:with-param name="name">
<xsl:call-template name="xpath.location"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'title-unnumbered'"/>
<xsl:with-param name="name">
<xsl:call-template name="xpath.location"/>
</xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/dump-commands.xsl
0,0 → 1,83
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl"
version="1.0">
 
<!-- XSLT stylesheet to extract commands from [B,H]LFS books. -->
 
<xsl:template match="/">
<xsl:apply-templates select="//sect1"/>
</xsl:template>
 
<xsl:template match="sect1">
<!-- The dirs names -->
<xsl:variable name="pi-dir" select="../processing-instruction('dbhtml')"/>
<xsl:variable name="pi-dir-value" select="substring-after($pi-dir,'dir=')"/>
<xsl:variable name="quote-dir" select="substring($pi-dir-value,1,1)"/>
<xsl:variable name="dirname" select="substring-before(substring($pi-dir-value,2),$quote-dir)"/>
<!-- The file names -->
<xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/>
<xsl:variable name="pi-file-value" select="substring-after($pi-file,'filename=')"/>
<xsl:variable name="filename" select="substring-before(substring($pi-file-value,2),'.html')"/>
<!-- The build order -->
<xsl:variable name="position" select="position()"/>
<xsl:variable name="order">
<xsl:choose>
<xsl:when test="string-length($position) = 1">
<xsl:text>00</xsl:text>
<xsl:value-of select="$position"/>
</xsl:when>
<xsl:when test="string-length($position) = 2">
<xsl:text>0</xsl:text>
<xsl:value-of select="$position"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$position"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Creating dirs and files -->
<exsl:document href="{$dirname}/{$order}-{$filename}" method="text">
<xsl:apply-templates select=".//screen"/>
</exsl:document>
</xsl:template>
 
<xsl:template match="screen">
<xsl:if test="child::* = userinput">
<xsl:choose>
<xsl:when test="@role = 'root'">
<xsl:text>&#xA;</xsl:text>
<xsl:text># Run this as root</xsl:text>
<xsl:apply-templates select="userinput"/>
<xsl:text># End root commands</xsl:text>
<xsl:text>&#xA;</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="userinput"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
 
<xsl:template match="userinput">
<xsl:text>&#xA;</xsl:text>
<xsl:if test=".//replaceable">
<xsl:text># This block must be edited to suit your needs.</xsl:text>
</xsl:if>
<xsl:text>&#xA;</xsl:text>
<xsl:apply-templates/>
<xsl:text>&#xA;</xsl:text>
<xsl:if test=".//replaceable">
<xsl:text># End of editable block.</xsl:text>
</xsl:if>
<xsl:text>&#xA;</xsl:text>
</xsl:template>
 
<xsl:template match="replaceable">
<xsl:text>**EDITME</xsl:text>
<xsl:apply-templates/>
<xsl:text>EDITME**</xsl:text>
</xsl:template>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/lfs-chunked2.xsl
0,0 → 1,40
<?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">
 
<!-- We use XHTML -->
<!--
<xsl:import href="http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/docbook.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-1'"/>
-->
<xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/xhtml/docbook.xsl"/>
<xsl:param name="chunker.output.encoding" select="'ISO-8859-15'"/>
 
 
<!-- 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'"/>
<xsl:template name='user.head.content'>
<link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print"/>
</xsl:template>
 
<!-- Dropping some unwanted style attributes -->
<xsl:param name="ulink.target" select="''"></xsl:param>
<xsl:param name="css.decoration" select="0"></xsl:param>
 
<!-- No XML declaration -->
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/lfs.css
1,92 → 1,361
/* Global settings */
body {
font-weight: normal;
font-size: medium;
font-family: verdana, tahoma, helvetica, arial, sans-serif;
font-family: sans-serif;
text-align: left;
background: #fff;
color: #333;
margin: 1em;
padding: 0;
font-size: 1em;
line-height: 1.2em
}
 
.toc ul, .index ul {
list-style: none;
a:link { color: #22b; }
a:visited { color: #7e4988; }
a:hover, a:focus { color: #d30e08; }
a:active { color: #6b77b1;}
 
/* Headers */
h1, h2, b, strong {
color: #000;
font-weight: bold;
}
 
li.preface {
margin-left: 2.5em;
h3, h4, h5, h6 {
color: #222;
}
 
div.book div.titlepage h1.title {
font-weight: bold;
font-size: xx-large;
text-align: center;
h1 { font-size: 173%; text-align: center; line-height: 1.2em; }
h2 { font-size: 144%; padding-top: 0.2em; margin-top: 0.3em; line-height: 1.2em; }
h2.subtitle { text-align: center; line-height: 1.2em; }
h3 { font-size: 120%; line-height: 1.2em; }
h4 { font-size: 110%; line-height: 1.2em; }
h5, h6 { font-size: 110%; font-style: italic; line-height: 1.2em; }
 
/* Navigation */
div.headertitles h4 {
margin-bottom: 2px;
text-align: center;
}
 
div.book div.titlepage h2.subtitle {
font-weight: bold;
font-size: x-large;
text-align: center;
div.headertitles h3 {
margin-top: 2px;
text-align: center;
}
 
div.book div.titlepage h3.author {
font-size: large;
div.navheader, div.navfooter {
background: #ecedef;
padding: 0.1em 1em;
border-bottom: 1px solid #dbddec;
}
 
div.book div.dedication div.titlepage h2.title {
font-weight: normal;
font-size: x-large;
div.navfooter {
border-bottom: 0;
border-top: 1px solid #dbddec;
}
 
div.chapter div.titlepage h2.title {
font-weight: bold;
font-size: x-large;
text-align: left;
div.navheader ul, div.navfooter ul {
padding: .2em .5em .5em 0;
margin-left: 0px;
margin-right: 2px;
position: relative;
background: #dbddec;
}
 
div.sect1 div.titlepage h2.title {
font-weight: bold;
font-size: x-large;
text-align: left;
div.navheader ul li, div.navfooter ul li {
display: inline;
width: 40%;
}
 
tt {
font-family: courier, monospace;
div.navheader ul li.prev, div.navfooter ul li.prev {
position: absolute;
display: block;
left: 0;
text-align: left;
padding: 0.2em 1em;
margin-left: 6px;
}
 
pre.screen {
color: black;
background-color: #dddddd;
div.navheader ul li.next, div.navfooter ul li.next {
position: absolute;
display: block;
text-align: right;
right: 5px;
padding: 0.2em 0.5em;
margin-right: 7px;
}
 
pre.synopsis {
color: black;
background-color: #dddddd;
div.navheader ul li.prev p, div.navfooter ul li.prev p,
div.navheader ul li.next p, div.navfooter ul li.next p {
padding: 0;
margin: 1px 0px;
}
 
div.admonition {
border: medium solid;
width: 90%;
margin: .5em auto;
div.navheader ul li.home, div.navheader ul li.up,
div.navfooter ul li.home, div.navfooter ul li.up {
text-align: center;
padding: 0;
margin: 0px auto;
display: block;
color: #dbddec;
}
 
div.admonhead h3 {
display: inline;
margin-left: 1.5em;
/* TOC & Index*/
 
div.toc ul, div.index ul, div.navheader ul, div.navfooter ul {
list-style: none;
}
 
div.admonbody {
margin: .5em;
div.toc, div.dedication {
padding-left: 1em;
}
 
.command {
font-family: courier, monospace;
li.preface, li.appendix {
margin-left: 1em;
}
 
div.toc ul li h3, div.toc ul li h4 {
margin: .4em;
}
 
.item {
width: 15em;
width: 17em;
float: left;
}
 
.secitem {
font-weight: normal;
width: 12.5em;
width: 16em;
float: left;
}
 
/* Admonitions */
div.note, div.tip {
background-color: #fffff6;
border: 2px solid #dbddec;
width: 90%;
margin: .5em auto;
}
 
div.important, div.warning, div.caution {
background-color: #fffff6;
border: medium solid #400;
width: 90%;
margin: 1.5em auto;
color: #600;
font-size: larger;
}
 
div.important h3, div.warning h3, div.caution h3 {
color: #900;
}
 
div.admonhead img {
padding: .3em;
}
 
div.admonhead h3 {
display: inline;
margin-left: 1.5em;
}
 
div.admonbody {
margin: .5em;
}
 
div.important em, div.warning em, div.caution em {
color: #000;
font-weight: bold;
}
 
div.important tt, div.warning tt, div.caution tt {
font-weight: bold;
}
 
/* variablelist & segmentedlist */
dl {
margin: 0;
padding: 0;
}
 
dt {
display: list-item;
font-weight: bold;
margin: .33em 0 0 1em;
padding: 0;
}
 
dd {
margin: 0 0 1em 3em;
padding: 0;
}
 
table {
width: auto;
margin-left: 1em;
}
 
td {
vertical-align: top;
}
 
td span, td p {
margin: 0.3em;
}
 
span.term {
display: block;
}
 
div.variablelist dd {
margin-bottom: 1em;
}
 
div.variablelist dd p {
margin-top: 0px;
}
 
div.materials dd {
margin-left: 0px;
}
 
div.package div.seg {
margin-bottom: 0em;
margin-top: 0em;
clear: left;
}
 
div.package span.segtitle {
float: left;
}
 
div.package span.seg {
display: block;
padding-left: 14em;
}
 
div.content div.seg {
margin-bottom: 1em;
margin-top: 1em;
clear: left;
}
 
div.content span.segtitle {
float: left;
}
 
div.content span.seg {
display: block;
padding-left: 12em;
}
 
/* itemizedlist */
 
div.itemizedlist {
margin-left: 1em;
}
 
/* Indented blocks */
p, ul, dl, code, blockquote {
padding-left: 1em;
}
 
/* Monospaced elements */
tt, code, kbd, pre, .command {
font-family: monospace;
}
 
pre.userinput {
color: #101310;
background-color: #e5e5e5;
border: 1px solid #050505;
padding: .5em 1em;
margin: 0 2em;
font-weight: bold;
}
 
.literal {
font-weight: normal;
}
 
pre.screen {
color: #000;
background-color: #e9e9e9;
border: 1px solid #050505;
padding: .5em 1em;
margin: 0 2em;
}
 
/* Sections */
div.wrap h1 {
background: #f5f6f7;
padding: 1em 0 0.5em 0;
margin: 0px auto;
}
 
div.package {
background: #f5f6f7;
border-bottom: 0.2em solid #dbddec;
padding: 0.5em 0.5em 0.3em 0.5em;
margin: 0px auto;
}
 
div.installation {
padding: 0 0.5em 0.3em 0.5em;
margin: 0.5em 0 0.5em 0;
}
 
div.configuration {
background: #fefefe;
border-top: 0.2em solid #dbddec;
padding: 0.5em;
margin: 0.5em 0 .5em 0;
}
 
div.content {
background: #f5f6f7;
border-top: 0.2em solid #dbddec;
padding: 0.5em 0.5em 1em 0.5em;
margin: 0.5em 0 .5em 0;
}
 
div.installation h2, div.content h2 {
padding-top: 0.3em;
margin: 0;
}
 
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.appendix h1, div.index h1 {
background: #f5f6f7;
border-bottom: .1em solid #dbddec;
margin: 0px auto;
padding: .5em;
}
 
div.book h1 {
background: #f5f6f7;
margin: 0px auto;
padding: 0.5em;
}
 
div.book h2.subtitle {
background: #dbddec;
margin: 0px auto;
padding: 0.2em;
}
div.authorgroup, div p.copyright, div.abstract {
background: #f5f6f7;
margin: 0px auto;
padding: 1em 0.5em;
}
 
hr {
background: #dbddec;
height: .3em;
border: 0px;
margin: 0px auto;
padding: 0;
}
/trunk/lfs/stylesheets/lfs-l10n.xml
0,0 → 1,71
<?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>
 
<!-- French -->
<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
language="fr" english-language-name="French">
 
<l:gentext key="description" text="description"/>
<l:gentext key="Libraries" text="Bibliotheques"/>
<l:gentext key="Others" text="Autres"/>
<l:gentext key="Packages" text="Paquets"/>
<l:gentext key="Programs" text="Programmes"/>
<l:gentext key="Scripts" text="Scripts"/>
 
</l:l10n>
 
<!-- Italian -->
<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
language="it" english-language-name="Italian">
 
<l:gentext key="description" text="descrizione"/>
<l:gentext key="Libraries" text="Librerie"/>
<l:gentext key="Others" text="Altri"/>
<l:gentext key="Packages" text="Pacchetti"/>
<l:gentext key="Programs" text="Programmi"/>
<l:gentext key="Scripts" text="Script"/>
 
</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>
/trunk/lfs/stylesheets/xhtml/lfs-navigational.xsl
1,7 → 1,5
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
15,7 → 13,7
</head>
</xsl:template>
 
<!-- Header Navigation-->
<!-- Header Navigation-->
<xsl:template name="header.navigation">
<xsl:param name="prev" select="/foo"/>
<xsl:param name="next" select="/foo"/>
26,73 → 24,232
and generate-id($up) != generate-id($home)) or count($next) &gt; 0"/>
<xsl:if test="$row and $home != .">
<div class="navheader">
<xsl:if test="$home != .">
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">
<h4>
<xsl:apply-templates select="$home" mode="object.title.markup"/>
<xsl:text> - </xsl:text>
<xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
</h4>
</th>
</tr>
<xsl:if test="$up != $home">
<tr>
<th colspan="3" align="center">
<h3>
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</h3>
</th>
</tr>
</xsl:if>
<tr>
<td width="33%" align="left">
<a accesskey="p">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$prev"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'prev'"/>
</xsl:call-template>
</a>
<xsl:text>&#160;</xsl:text>
</td>
<td width="34%" align="center">
<a accesskey="h">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$home"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</td>
<td width="33%" align="right">
<xsl:text>&#160;</xsl:text>
<xsl:if test="count($next)&gt;0">
<a accesskey="n">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$next"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'next'"/>
</xsl:call-template>
</a>
</xsl:if>
</td>
</tr>
</table>
<hr/>
</xsl:if>
</div>
</xsl:if>
</xsl:template>
<xsl:if test="$home != .">
<div class="headertitles">
<h4>
<xsl:apply-templates select="$home" mode="object.title.markup"/>
<xsl:text> - </xsl:text>
<xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
</h4>
<xsl:if test="$up != $home">
<h3>
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</h3>
</xsl:if>
</div>
</xsl:if>
<ul class="headerlinks">
<xsl:if test="count($prev)&gt;0 and $prev != $home">
<li class="prev">
<a accesskey="p">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$prev"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="$prev/title"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'prev'"/>
</xsl:call-template>
</a>
<p>
<xsl:value-of select="$prev/title"/>
</p>
</li>
</xsl:if>
<xsl:if test="count($next)&gt;0">
<li class="next">
<a accesskey="n">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$next"/>
</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>
<li class="up">
<xsl:if test="count($up)&gt;0 and $up != $home">
<a accesskey="u">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$up"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'up'"/>
</xsl:call-template>
</a>
</xsl:if>
<xsl:text>.</xsl:text>
</li>
<li class="home">
<a accesskey="h">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$home"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="$home/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="$home/bookinfo/subtitle"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</li>
</ul>
</div>
</xsl:if>
</xsl:template>
 
<!-- Footer Navigation-->
<xsl:template name="footer.navigation">
<xsl:param name="prev" select="/foo"/>
<xsl:param name="next" select="/foo"/>
<xsl:param name="nav.context"/>
<xsl:variable name="home" select="/*[1]"/>
<xsl:variable name="up" select="parent::*"/>
<xsl:variable name="row" select="count($prev) &gt; 0 or count($up) &gt; 0
or count($next) &gt; 0 or generate-id($home) != generate-id(.)"/>
<xsl:if test="$row">
<div class="navfooter">
<ul>
<xsl:if test="count($prev)&gt;0 and $prev != $home">
<li class="prev">
<a accesskey="p">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$prev"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="$prev/title"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'prev'"/>
</xsl:call-template>
</a>
<p>
<xsl:value-of select="$prev/title"/>
</p>
</li>
</xsl:if>
<xsl:if test="count($next)&gt;0">
<li class="next">
<a accesskey="n">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$next"/>
</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>
<li class="up">
<xsl:if test="count($up)&gt;0 and $up != $home">
<a accesskey="u">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$up"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:apply-templates select="$up" mode="object.title.markup"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'up'"/>
</xsl:call-template>
</a>
</xsl:if>
<xsl:text>.</xsl:text>
</li>
<li class="home">
<xsl:if test="$home != .">
<a accesskey="h">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$home"/>
</xsl:call-template>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="$home/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="$home/bookinfo/subtitle"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</xsl:if>
<xsl:text>.</xsl:text>
</li>
</ul>
</div>
</xsl:if>
</xsl:template>
 
</xsl:stylesheet>
 
 
/trunk/lfs/stylesheets/xhtml/lfs-admon.xsl
1,17 → 1,15
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- Use graphics in admonitions -->
<!-- Use graphics in admonitions -->
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path">../images/</xsl:param>
<xsl:param name="admon.graphics.extension" select="'.png'"/>
 
<!-- Changing the output tagging -->
<!-- Changing the output tagging -->
<xsl:template name="graphical.admonition">
<xsl:variable name="admon.type">
<xsl:choose>
23,23 → 21,24
<xsl:otherwise>Note</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<div class="admonition">
<div class ="admonhead">
<img alt="[{$admon.type}]">
<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="[{$alt}]">
<xsl:attribute name="src">
<xsl:call-template name="admon.graphic"/>
</xsl:attribute>
</img>
<h3 class="{name(.)}">
<xsl:value-of select="$admon.type"/>
<xsl:if test="title">
<xsl:text>: </xsl:text>
<xsl:value-of select="title"/>
</xsl:if>
<h3 class="admontitle">
<xsl:apply-templates select="." mode="object.title.markup"/>
</h3>
</div>
<div class="admonbody">
<xsl:apply-templates/>
<xsl:apply-templates/>
</div>
</div>
</xsl:template>
/trunk/lfs/stylesheets/xhtml/lfs-titles.xsl
1,7 → 1,5
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9- Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
9,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>
17,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>
30,9 → 32,19
</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 -->
<!-- I should find a better test -->
<xsl:when test="position() = 4">
<div class="titlepage">
<xsl:if test="@id">
39,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>
46,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>
61,9 → 77,11
<xsl:if test="@id">
<a id="{@id}" name="{@id}"/>
</xsl:if>
<h3 class="{name(.)}">
<h2 class="{name(.)}">
<xsl:apply-templates select="." mode="label.markup"/>
<xsl:text>. </xsl:text>
<xsl:value-of select="title"/>
</h3>
</h2>
</div>
</xsl:otherwise>
</xsl:choose>
77,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>
/trunk/lfs/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>
/trunk/lfs/stylesheets/xhtml/lfs-toc.xsl
1,14 → 1,12
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<!-- General settings -->
<!-- General settings -->
<xsl:param name="generate.toc">
appendix toc
appendix nop
book toc,title,figure,table,example,equation
chapter nop
part toc
29,8 → 27,8
 
<xsl:param name="toc.max.depth">3</xsl:param>
<!-- Making the TOC -->
<xsl:template name="make.toc">
<!-- Making the TOC -->
<xsl:template name="make.toc">
<xsl:param name="toc-context" select="."/>
<xsl:param name="nodes" select="/NOT-AN-ELEMENT"/>
<xsl:if test="$nodes">
48,7 → 46,7
</div>
</xsl:if>
</xsl:template>
<!-- Making the subtocs -->
<xsl:template name="subtoc">
<xsl:param name="toc-context" select="."/>
73,7 → 71,7
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
<xsl:if test="$toc.section.depth &gt; $depth and count($nodes)&gt;0
and $toc.max.depth &gt; $depth.from.context">
and $toc.max.depth &gt; $depth.from.context">
<xsl:copy-of select="$subtoc"/>
</xsl:if>
</li>
95,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">
/trunk/lfs/stylesheets/xhtml/lfs-legalnotice.xsl
1,12 → 1,10
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- Generating the page -->
<!-- Generating the page -->
<xsl:template match="legalnotice" mode="titlepage.mode">
<xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
<xsl:variable name="filename" select="concat($base.dir, 'prologue/legalnotice.html')"/>
28,15 → 26,21
<div class="{local-name(.)}">
<xsl:apply-templates mode="titlepage.mode"/>
</div>
<hr/>
<div class="navfooter">
<ul class="footerlinks">
<li>
<li class="home">
<a accesskey="h">
<xsl:attribute name="href">
<xsl:text>../index.html</xsl:text>
</xsl:attribute>
<xsl:text>Home</xsl:text>
<xsl:attribute name="title">
<xsl:value-of select="/book/bookinfo/title"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="/book/bookinfo/subtitle"/>
</xsl:attribute>
<xsl:call-template name="navig.content">
<xsl:with-param name="direction" select="'home'"/>
</xsl:call-template>
</a>
</li>
</ul>
/trunk/lfs/stylesheets/xhtml/lfs-mixed.xsl
1,33 → 1,17
<?xml version='1.0' encoding='ISO-8859-1'?>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
 
<!-- screen -->
<xsl:template match="screen">
<xsl:choose>
<!-- Temporally hack -->
<xsl:when test="child::* = userinput">
<pre class="{name(.)}">
<kbd class="command">
<xsl:value-of select="."/>
</kbd>
<pre class="userinput">
<xsl:apply-templates/>
</pre>
</xsl:when>
<!-- This should be fixed in the XML code -->
<!--
<xsl:when test="contains(text() , 'SBU')">
<p class="sbu">
<tt>
<xsl:value-of select="substring-before(text() , 'R')"/>
<br/>
<xsl:value-of select="substring-after(text() , 'U')"/>
</tt>
</p>
</xsl:when>
-->
<xsl:otherwise>
<pre class="{name(.)}">
<xsl:apply-templates/>
35,5 → 19,168
</xsl:otherwise>
</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>
 
<!-- segementedlist -->
<xsl:template match="seg">
<xsl:variable name="segnum" select="count(preceding-sibling::seg)+1"/>
<xsl:variable name="seglist" select="ancestor::segmentedlist"/>
<xsl:variable name="segtitles" select="$seglist/segtitle"/>
<!-- Note: segtitle is only going to be the right thing in a well formed
SegmentedList. If there are too many Segs or too few SegTitles,
you'll get something odd...maybe an error -->
<div class="seg">
<strong>
<span class="segtitle">
<xsl:apply-templates select="$segtitles[$segnum=position()]" mode="segtitle-in-seg"/>
<xsl:text>: </xsl:text>
</span>
</strong>
<span class="seg">
<xsl:apply-templates/>
</span>
</div>
</xsl:template>
 
<!-- variablelist -->
<xsl:template match="variablelist">
<xsl:choose>
<xsl:when test="@role">
<div class="{@role}">
<xsl:apply-imports/>
</div>
</xsl:when>
<xsl:otherwise>
<xsl:apply-imports/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
 
<!-- Body attributes -->
<xsl:template name="body.attributes">
<xsl:attribute name="id">
<xsl:text>lfs</xsl:text>
</xsl:attribute>
<xsl:attribute name="class">
<xsl:value-of select="substring-after(/book/bookinfo/subtitle, ' ')"/>
</xsl:attribute>
</xsl:template>
 
<!-- 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>
<!-- The <code> xhtml tag have look issues in some browsers, like Konqueror and.
isn't semantically correct (a filename isn't a code fragment) We will use <tt> for now. -->
<xsl:template name="inline.monoseq">
<xsl:param name="content">
<xsl:call-template name="anchor"/>
<xsl:call-template name="simple.xlink">
<xsl:with-param name="content">
<xsl:apply-templates/>
</xsl:with-param>
</xsl:call-template>
</xsl:param>
<tt class="{local-name(.)}">
<xsl:if test="@dir">
<xsl:attribute name="dir">
<xsl:value-of select="@dir"/>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="$content"/>
</tt>
</xsl:template>
<xsl:template name="inline.boldmonoseq">
<xsl:param name="content">
<xsl:call-template name="anchor"/>
<xsl:call-template name="simple.xlink">
<xsl:with-param name="content">
<xsl:apply-templates/>
</xsl:with-param>
</xsl:call-template>
</xsl:param>
<!-- don't put <strong> inside figure, example, or table titles -->
<!-- or other titles that may already be represented with <strong>'s. -->
<xsl:choose>
<xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure'
or local-name(../..) = 'example' or local-name(../..) = 'table' or local-name(../..) = 'formalpara')">
<tt class="{local-name(.)}">
<xsl:if test="@dir">
<xsl:attribute name="dir">
<xsl:value-of select="@dir"/>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="$content"/>
</tt>
</xsl:when>
<xsl:otherwise>
<strong class="{local-name(.)}">
<tt>
<xsl:if test="@dir">
<xsl:attribute name="dir">
<xsl:value-of select="@dir"/>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="$content"/>
</tt>
</strong>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="inline.italicmonoseq">
<xsl:param name="content">
<xsl:call-template name="anchor"/>
<xsl:call-template name="simple.xlink">
<xsl:with-param name="content">
<xsl:apply-templates/>
</xsl:with-param>
</xsl:call-template>
</xsl:param>
<em class="{local-name(.)}">
<tt>
<xsl:if test="@dir">
<xsl:attribute name="dir">
<xsl:value-of select="@dir"/>
</xsl:attribute>
</xsl:if>
<xsl:copy-of select="$content"/>
</tt>
</em>
</xsl:template>
 
 
</xsl:stylesheet>
/trunk/lfs/stylesheets/xhtml/lfs-index.xsl
6,8 → 6,6
<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node())'>
]>
 
<!-- Version 0.9 - Manuel Canales Esparcia <macana@lfs-es.org> -->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
18,55 → 16,69
</xsl:template>
 
<!--Title-->
<xsl:param name="index-title">Index des packages et des fichiers importants installés</xsl:param>
<xsl:param name="index-title">Index</xsl:param>
<xsl:template match="index" mode="title.markup">
<xsl:value-of select="$index-title"/>
</xsl:template>
<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"/>
</h1>
<h1 class="index">
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="$index-title"/>
</xsl:call-template>
</h1>
</div>
</xsl:template>
 
<!--Divisions-->
<!--Divisions-->
<xsl:template match="indexterm" mode="index-div">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="translate(substring(&primary;, 1, 1),&lowercase;,&uppercase;)"/>
<xsl:variable name="divtitle" select="translate($key, &lowercase;, &uppercase;)"/>
<!-- Make sure that we don't generate a div if there are no terms in scope -->
<!-- Make sure that we don't generate a div if there are no terms in scope -->
<xsl:if test="key('letter', $key)[&scope;] [count(.|key('primary', &primary;)[&scope;][1]) = 1]">
<div class="indexdiv">
<xsl:if test="contains(concat(&lowercase;, &uppercase;), $key)">
<h2>
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<xsl:text>Packages</xsl:text>
<xsl:choose>
<xsl:when test="$divtitle = 'A'">
<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>Programmes</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>Bibliothèques</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>Autres</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"/>
</xsl:otherwise>
<xsl:value-of select="$divtitle"/>
</xsl:otherwise>
</xsl:choose>
</h2>
</xsl:if>
<ul>
<xsl:apply-templates select="key('letter', $key)[&scope;]
[count(.|key('primary', &primary;)[&scope;][1])=1]" mode="index-primary">
[count(.|key('primary', &primary;)[&scope;][1])=1]" mode="index-primary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(&primary;, &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
75,7 → 87,7
</xsl:if>
</xsl:template>
 
<!-- Dropping the separator from here-->
<!-- Dropping the separator from here-->
<xsl:template match="indexterm" mode="reference">
<xsl:param name="scope" select="."/>
<xsl:call-template name="reference">
82,20 → 94,20
<xsl:with-param name="zones" select="normalize-space(@zone)"/>
<xsl:with-param name="scope" select="$scope"/>
</xsl:call-template>
</xsl:template>
</xsl:template>
 
<!-- Changing the output tags and re-addind the separator-->
<!-- Changing the output tags and re-addind the separator-->
<xsl:template match="indexterm" mode="index-primary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="&primary;"/>
<xsl:variable name="refs" select="key('primary', $key)[&scope;]"/>
<li>
<strong class="item">
<xsl:value-of select="primary"/>
<strong class="item">
<xsl:value-of select="primary"/>
<xsl:text>: </xsl:text>
</strong>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('primary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
103,17 → 115,17
<xsl:with-param name="scope" select="$scope"/>
</xsl:apply-templates>
</xsl:for-each>
<xsl:if test="$refs/secondary">
<xsl:if test="$refs/secondary">
<ul>
<xsl:apply-templates select="$refs[secondary and count(.|key('secondary',
concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas,
concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)]))))[&scope;][1]) = 1]" mode="index-secondary">
<xsl:with-param name="scope" select="$scope"/>
<xsl:sort select="translate(normalize-space(concat(secondary/@sortas,
secondary[not(@sortas)])), &lowercase;, &uppercase;)"/>
secondary[not(@sortas)])), &lowercase;, &uppercase;)"/>
</xsl:apply-templates>
</ul>
</xsl:if>
</ul>
</xsl:if>
</li>
</xsl:template>
 
120,15 → 132,15
<xsl:template match="indexterm" mode="index-secondary">
<xsl:param name="scope" select="."/>
<xsl:variable name="key" select="concat(&primary;, &#34; &#34;,
normalize-space(concat(secondary/@sortas, secondary[not(@sortas)])))"/>
normalize-space(concat(secondary/@sortas, secondary[not(@sortas)])))"/>
<xsl:variable name="refs" select="key('secondary', $key)[&scope;]"/>
<li>
<strong class="secitem">
<xsl:value-of select="secondary"/>
<strong class="secitem">
<xsl:value-of select="secondary"/>
<xsl:text>: </xsl:text>
</strong>
</strong>
<xsl:for-each select="$refs[generate-id() = generate-id(key('secondary-section',
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
concat($key, &#34; &#34;, generate-id((ancestor-or-self::book |ancestor-or-self::part
|ancestor-or-self::chapter |ancestor-or-self::appendix |ancestor-or-self::preface
|ancestor-or-self::sect1 |ancestor-or-self::sect2 |ancestor-or-self::sect3
|ancestor-or-self::sect4 |ancestor-or-self::sect5 |ancestor-or-self::index)[last()])))[&scope;][1])]">
164,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>
/trunk/lfs/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>