Merged r8226 from new-xsl branch.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8228 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia 2007-07-21 15:00:15 +00:00
parent 85117fe2b9
commit 60a5a938e6
43 changed files with 2443 additions and 1179 deletions

View File

@ -11,14 +11,14 @@
<xsl:param name="PreviousRelease">1.72.0</xsl:param>
<xsl:param name="PreviousReleaseRevision">6553</xsl:param>
<xsl:param name="Revision">$Revision$</xsl:param>
<xsl:param name="VersionFileURL">$URL: https://svn.sourceforge.net/svnroot/docbook/trunk/xsl/VERSION $</xsl:param>
<xsl:param name="VersionFileURL">$URL: https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl/VERSION $</xsl:param>
<xsl:param name="sf-relid" select="0"/>
<xsl:strip-space elements="fm:*"/>
<fm:project>
<fm:Project>DocBook</fm:Project>
<fm:Branch>XSL Stylesheets</fm:Branch>
<fm:Version>snapshot_6933</fm:Version>
<fm:Version>snapshot_7094</fm:Version>
<!--
<fm:License>MIT/X Consortium License</fm:License>
-->

View File

@ -14,38 +14,24 @@
See ../README or http://docbook.sf.net/release/xsl/current/ for
copyright and other information.
This file contains general templates common to both the HTML and FO
versions of the DocBook stylesheets.
******************************************************************** -->
<doc:reference xmlns="">
<referenceinfo>
<releaseinfo role="meta">
$Id$
</releaseinfo>
<author><surname>Walsh</surname>
<firstname>Norman</firstname></author>
<copyright><year>1999-2007</year>
<holder>Norman Walsh</holder>
</copyright>
</referenceinfo>
<title>Common Template Reference</title>
<partintro id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the “common”
templates in the DocBook XSL Stylesheets. The common templates are
“common” because they are shared across output formats (that is,
theyre not output-format-dependent).</para>
<para>This documentation is not intended to be <quote>user</quote>
documentation. It is provided for developers writing
customization layers for the stylesheets, and for anyone who's
interested in <quote>how it works</quote>.</para>
</partintro>
<doc:reference xmlns="" xml:id="base">
<info>
<title>Common » Base Template Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
</info>
<!-- * yes, partintro is a valid child of a reference... -->
<partintro xml:id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the “base”
set of common templates in the DocBook XSL Stylesheets.</para>
<para>This is not intended to be user documentation. It is
provided for developers writing customization layers for the
stylesheets.</para>
</partintro>
</doc:reference>
<!-- ==================================================================== -->
@ -183,7 +169,7 @@ manvolnum
<refdescription id="section.level-desc">
<para>This template calculates the hierarchical level of a section.
The element <sgmltag>sect1</sgmltag> is at level 1, <sgmltag>sect2</sgmltag> is
The element <tag>sect1</tag> is at level 1, <tag>sect2</tag> is
at level 2, etc.</para>
<para>Recursive sections are calculated down to the fifth level.</para>
@ -1324,45 +1310,24 @@ pointed to by the link is one of the elements listed in
<!-- ====================================================================== -->
<!-- OrderedList Numeration -->
<xsl:template name="orderedlist-starting-number">
<xsl:param name="list" select="."/>
<!-- Need a neutral dbxxx -->
<xsl:variable name="pi-html-start">
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis"
select="$list/processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'start'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="pi-fo-start">
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis"
select="$list/processing-instruction('dbfo')"/>
<xsl:with-param name="attribute" select="'start'"/>
</xsl:call-template>
</xsl:variable>
<xsl:template name="output-orderedlist-starting-number">
<xsl:param name="list"/>
<xsl:param name="pi-start"/>
<xsl:choose>
<xsl:when test="not($list/@continuation = 'continues')">
<xsl:choose>
<xsl:when test="@startingnumber">
<xsl:value-of select="@startingnumber"/>
</xsl:when>
<xsl:when test="$pi-html-start != ''">
<xsl:value-of select="$pi-html-start"/>
</xsl:when>
<xsl:when test="$pi-fo-start != ''">
<xsl:value-of select="$pi-fo-start"/>
<xsl:when test="$pi-start != ''">
<xsl:value-of select="$pi-start"/>
</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="prevlist"
select="$list/preceding::orderedlist[1]"/>
select="$list/preceding::orderedlist[1]"/>
<xsl:choose>
<xsl:when test="count($prevlist) = 0">2</xsl:when>
<xsl:otherwise>
@ -1382,7 +1347,6 @@ pointed to by the link is one of the elements listed in
<xsl:template name="orderedlist-item-number">
<!-- context node must be a listitem in an orderedlist -->
<xsl:param name="node" select="."/>
<xsl:choose>
<xsl:when test="$node/@override">
<xsl:value-of select="$node/@override"/>
@ -1903,33 +1867,28 @@ unchanged.</para>
localized "choice" separator (for example, "and" or "or") before
the final item in an inline list (though it could also be useful
for generating choice separators for non-inline lists).</para>
<para>It currently works by evaluating a processing instruction
(PI) of the form &lt;?dbchoice&#xa0;choice="foo"?> :
<itemizedlist>
<listitem>
<simpara>if the value of the <sgmltag>choice</sgmltag>
<simpara>if the value of the <tag>choice</tag>
pseudo-attribute is "and" or "or", returns a localized "and"
or "or"</simpara>
</listitem>
<listitem>
<simpara>otherwise returns the literal value of the
<sgmltag>choice</sgmltag> pseudo-attribute</simpara>
<tag>choice</tag> pseudo-attribute</simpara>
</listitem>
</itemizedlist>
The latter is provided only as a temporary workaround because the
locale files do not currently have translations for the word
<wordasword>or</wordasword>. So if you want to generate a a
logical "or" separator in French (for example), you currently need
to do this:
<literallayout>&lt;?dbchoice choice="ou"?></literallayout>
</para>
<warning>
<para>The <sgmltag>dbchoice</sgmltag> processing instruction is
<para>The <tag>dbchoice</tag> processing instruction is
an unfortunate hack; support for it may disappear in the future
(particularly if and when a more appropriate means for marking
up "choice" lists becomes available in DocBook).</para>
@ -1937,14 +1896,9 @@ unchanged.</para>
</refdescription>
</doc:template>
<xsl:template name="select.choice.separator">
<xsl:variable name="choice">
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbchoice')"/>
<xsl:with-param name="attribute">choice</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="pi.dbchoice_choice"/>
</xsl:variable>
<xsl:choose>
<!-- if value of $choice is "and" or "or", translate to equivalent in -->
<!-- current locale -->
@ -2024,5 +1978,4 @@ engine does not support it.
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="Zusammenfassung"/>
<l:gentext key="abstract" text="Zusammenfassung"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="Abstract"/>
<l:gentext key="abstract" text="Abstract"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="Resumen"/>
<l:gentext key="abstract" text="resumen"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="Résumé"/>
<l:gentext key="abstract" text="Résumé"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="Estratto"/>
<l:gentext key="abstract" text="Estratto"/>

View File

@ -193,12 +193,31 @@ element label.</para>
<xsl:value-of select="@label"/>
</xsl:when>
<xsl:when test="string($reference.autolabel) != 0">
<xsl:if test="$component.label.includes.part.label != 0 and
ancestor::part">
<xsl:variable name="part.label">
<xsl:apply-templates select="ancestor::part"
mode="label.markup"/>
</xsl:variable>
<xsl:if test="$part.label != ''">
<xsl:value-of select="$part.label"/>
<xsl:apply-templates select="ancestor::part"
mode="intralabel.punctuation"/>
</xsl:if>
</xsl:if>
<xsl:variable name="format">
<xsl:call-template name="autolabel.format">
<xsl:with-param name="format" select="$reference.autolabel"/>
</xsl:call-template>
</xsl:variable>
<xsl:number from="book" count="reference" format="{$format}" level="any"/>
<xsl:choose>
<xsl:when test="$label.from.part != 0 and ancestor::part">
<xsl:number from="part" count="reference" format="{$format}" level="any"/>
</xsl:when>
<xsl:otherwise>
<xsl:number from="book" count="reference" format="{$format}" level="any"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:template>

View File

@ -1,11 +1,13 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:exsl="http://exslt.org/common"
exclude-result-prefixes="doc date exsl"
extension-element-prefixes="date exsl"
version='1.0'>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:exsl="http://exslt.org/common"
xmlns:xlink="http://www.w3.org/1999/xlink"
exclude-result-prefixes="doc date exsl"
extension-element-prefixes="date exsl"
version='1.0'>
<!-- ********************************************************************
$Id$
@ -15,17 +17,108 @@
See ../README or http://docbook.sf.net/release/xsl/current/ for
copyright and other information.
This file contains general templates for processing processing
instructions common to both the HTML and FO versions of the
DocBook stylesheets.
******************************************************************** -->
<!-- Process PIs also on title pages -->
<xsl:template match="processing-instruction()" mode="titlepage.mode">
<xsl:apply-templates select="."/>
<doc:reference xmlns=""><info><title>Common Processing Instruction Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
</info>
<partintro id="partintro">
<title>Introduction</title>
<para>This is generated reference documentation for all
user-specifiable processing instructions (PIs) in the
“common” part of the DocBook XSL stylesheets.
<note>
<para>You add these PIs at particular points in a document to
cause specific “exceptions” to formatting/output behavior. To
make global changes in formatting/output behavior across an
entire document, its better to do it by setting an
appropriate stylesheet parameter (if there is one).</para>
</note>
</para>
</partintro>
</doc:reference>
<!-- ==================================================================== -->
<doc:pi name="dbchoice_choice" xmlns="">
<refpurpose>Generates a localized choice separator</refpurpose>
<refdescription id="select.choice.separator-desc">
<para>Use the <tag class="xmlpi">dbchoice choice</tag> PI to
generate an appropriate localized “choice” separator (for
example, <literal>and</literal> or <literal>or</literal>)
before the final item in an inline <tag>simplelist</tag></para>
<warning>
<para>This PI is a less-than-ideal hack; support for it may
disappear in the future (particularly if and when a more
appropriate means for marking up "choice" lists becomes
available in DocBook).</para>
</warning>
</refdescription>
<refsynopsisdiv>
<synopsis><tag class="xmlpi">dbchoice choice="and"|"or"|<replaceable>string</replaceable>"</tag></synopsis>
</refsynopsisdiv>
<refparameter>
<variablelist>
<varlistentry><term>choice="and"</term>
<listitem>
<para>generates a localized <literal>and</literal> separator</para>
</listitem>
</varlistentry>
<varlistentry><term>choice="or"</term>
<listitem>
<para>generates a localized <literal>or</literal> separator</para>
</listitem>
</varlistentry>
<varlistentry><term>choice="<replaceable>string</replaceable>"</term>
<listitem>
<para>generates a literal <replaceable>string</replaceable> separator</para>
</listitem>
</varlistentry>
</variablelist>
</refparameter>
</doc:pi>
<xsl:template name="pi.dbchoice_choice">
<xsl:param name="node" select="."/>
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis" select="$node/processing-instruction('dbchoice')"/>
<xsl:with-param name="attribute">choice</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="processing-instruction('dbtimestamp')">
<doc:pi name="dbtimestamp" xmlns="">
<refpurpose>Inserts a date timestamp</refpurpose>
<refdescription>
<para>Use the <tag>dbtimestamp</tag> PI at any point in a
source document to cause a date timestamp (a formatted
string representing the current date and time) to be
inserted in output of the document.</para>
</refdescription>
<refsynopsisdiv>
<synopsis><tag class="xmlpi">dbtimestamp format="<replaceable>formatstring</replaceable>" [padding="0"|"1"]</tag></synopsis>
</refsynopsisdiv>
<refparameter>
<variablelist>
<varlistentry><term>format="<replaceable>formatstring</replaceable>"</term>
<listitem>
<para>Specifies format in which the date and time are
output</para>
<note>
<para>For details of the content of the format string,
see <link role="tcg" xlink:href="Datetime.html"
>Date and time</link>.</para>
</note>
</listitem>
</varlistentry>
<varlistentry><term>padding="0"|"1"</term>
<listitem>
<para>Specifies padding behavior; if non-zero, padding is is added</para>
</listitem>
</varlistentry>
</variablelist>
</refparameter>
</doc:pi>
<xsl:template name="pi.dbtimestamp">
<xsl:variable name="format">
<xsl:variable name="pi-format">
<xsl:call-template name="pi-attribute">
@ -45,7 +138,6 @@
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="padding">
<xsl:variable name="pi-padding">
<xsl:call-template name="pi-attribute">
@ -60,7 +152,6 @@
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="date">
<xsl:choose>
<xsl:when test="function-available('date:date-time')">
@ -72,10 +163,9 @@
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="function-available('date:date-time') or
function-available('date:dateTime')">
function-available('date:dateTime')">
<xsl:call-template name="datetime.format">
<xsl:with-param name="date" select="$date"/>
<xsl:with-param name="format" select="$format"/>
@ -88,124 +178,169 @@
</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<doc:pi name="dbtex_delims" xmlns="">
<refpurpose>Generates delimiters around embedded TeX equations
in output</refpurpose>
<refdescription>
<para>Use the <tag class="xmlpi">dbtex delims</tag> PI as a
child of a <tag>textobject</tag> containing embedded TeX
markup, to cause that markup to be surrounded by
<literal>$</literal> delimiter characters in output.</para>
</refdescription>
<refsynopsisdiv>
<synopsis><tag class="xmlpi">dbtex delims="no"|"yes"</tag></synopsis>
</refsynopsisdiv>
<refparameter>
<variablelist>
<varlistentry><term>dbtex delims="no"|"yes"</term>
<listitem>
<para>Specifies whether delimiters are output</para>
</listitem>
</varlistentry>
</variablelist>
</refparameter>
<refsee role="params">
<para><parameter>tex.math.delims</parameter></para>
</refsee>
<refsee role="tcg">
<para><link role="tcg"
xlink:href="TexMath.html"
>DBTeXMath</link></para>
</refsee>
</doc:pi>
<xsl:template name="pi.dbtex_delims">
<xsl:param name="node" select="."/>
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis" select="$node/processing-instruction('dbtex')"/>
<xsl:with-param name="attribute" select="'delims'"/>
</xsl:call-template>
</xsl:template>
<!-- ==================================================================== -->
<xsl:template match="processing-instruction()" mode="titlepage.mode">
<!-- * Als process PIs on title pages -->
<xsl:apply-templates select="."/>
</xsl:template>
<xsl:template match="processing-instruction('dbtimestamp')">
<xsl:call-template name="pi.dbtimestamp"/>
</xsl:template>
<xsl:template name="datetime.format">
<xsl:param name="date"/>
<xsl:param name="format"/>
<xsl:param name="padding" select="1"/>
<xsl:if test="$format != ''">
<!-- replace any whitespace in the format string with a non-breaking space -->
<xsl:variable name="format-nbsp"
select="translate($format,
'&#x20;&#x9;&#xd;&#xa;',
'&#xa0;&#xa0;&#xa0;&#xa0;')"/>
select="translate($format,
'&#x20;&#x9;&#xd;&#xa;',
'&#xa0;&#xa0;&#xa0;&#xa0;')"/>
<xsl:variable name="tokenized-format-string">
<xsl:call-template name="str.tokenize.keep.delimiters">
<xsl:with-param name="string" select="$format-nbsp"/>
<xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
<xsl:with-param name="string" select="$format-nbsp"/>
<xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<!-- include extra test for Xalan quirk -->
<xsl:when test="function-available('exsl:node-set') or
contains(system-property('xsl:vendor'),'Apache Software Foundation')">
<!-- We must preserve context node in order to get valid language -->
<xsl:variable name="context" select="."/>
<xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
<xsl:variable name="token">
<xsl:value-of select="."/>
</xsl:variable>
<!-- Restore context node -->
<xsl:for-each select="$context">
<xsl:choose>
<xsl:when test="$token = 'a'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-abbrev'"/>
<xsl:with-param name="name" select="date:day-abbreviation($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'A'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-full'"/>
<xsl:with-param name="name" select="date:day-name($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'b'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-abbrev'"/>
<xsl:with-param name="name" select="date:month-abbreviation($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'c'">
<xsl:value-of select="date:date($date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:time($date)"/>
</xsl:when>
<xsl:when test="$token = 'B'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-full'"/>
<xsl:with-param name="name" select="date:month-name($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'd'">
<xsl:if test="$padding = 1 and
string-length(date:day-in-month($date)) = 1">0</xsl:if>
<xsl:value-of select="date:day-in-month($date)"/>
</xsl:when>
<xsl:when test="$token = 'H'">
<xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
<xsl:value-of select="date:hour-in-day($date)"/>
</xsl:when>
<xsl:when test="$token = 'j'">
<xsl:value-of select="date:day-in-year($date)"/>
</xsl:when>
<xsl:when test="$token = 'm'">
<xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
<xsl:value-of select="date:month-in-year($date)"/>
</xsl:when>
<xsl:when test="$token = 'M'">
<xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
<xsl:value-of select="date:minute-in-hour($date)"/>
</xsl:when>
<xsl:when test="$token = 'S'">
<xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
<xsl:value-of select="date:second-in-minute($date)"/>
</xsl:when>
<xsl:when test="$token = 'U'">
<xsl:value-of select="date:week-in-year($date)"/>
</xsl:when>
<xsl:when test="$token = 'w'">
<xsl:value-of select="date:day-in-week($date)"/>
</xsl:when>
<xsl:when test="$token = 'x'">
<xsl:value-of select="date:date($date)"/>
</xsl:when>
<xsl:when test="$token = 'X'">
<xsl:value-of select="date:time($date)"/>
</xsl:when>
<xsl:when test="$token = 'Y'">
<xsl:value-of select="date:year($date)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<!-- include extra test for Xalan quirk -->
<xsl:when test="function-available('exsl:node-set') or
contains(system-property('xsl:vendor'),'Apache Software Foundation')">
<!-- We must preserve context node in order to get valid language -->
<xsl:variable name="context" select="."/>
<xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
<xsl:variable name="token">
<xsl:value-of select="."/>
</xsl:variable>
<!-- Restore context node -->
<xsl:for-each select="$context">
<xsl:choose>
<xsl:when test="$token = 'a'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-abbrev'"/>
<xsl:with-param name="name" select="date:day-abbreviation($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'A'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-full'"/>
<xsl:with-param name="name" select="date:day-name($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'b'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-abbrev'"/>
<xsl:with-param name="name" select="date:month-abbreviation($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'c'">
<xsl:value-of select="date:date($date)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date:time($date)"/>
</xsl:when>
<xsl:when test="$token = 'B'">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'datetime-full'"/>
<xsl:with-param name="name" select="date:month-name($date)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$token = 'd'">
<xsl:if test="$padding = 1 and
string-length(date:day-in-month($date)) = 1">0</xsl:if>
<xsl:value-of select="date:day-in-month($date)"/>
</xsl:when>
<xsl:when test="$token = 'H'">
<xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
<xsl:value-of select="date:hour-in-day($date)"/>
</xsl:when>
<xsl:when test="$token = 'j'">
<xsl:value-of select="date:day-in-year($date)"/>
</xsl:when>
<xsl:when test="$token = 'm'">
<xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
<xsl:value-of select="date:month-in-year($date)"/>
</xsl:when>
<xsl:when test="$token = 'M'">
<xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
<xsl:value-of select="date:minute-in-hour($date)"/>
</xsl:when>
<xsl:when test="$token = 'S'">
<xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
<xsl:value-of select="date:second-in-minute($date)"/>
</xsl:when>
<xsl:when test="$token = 'U'">
<xsl:value-of select="date:week-in-year($date)"/>
</xsl:when>
<xsl:when test="$token = 'w'">
<xsl:value-of select="date:day-in-week($date)"/>
</xsl:when>
<xsl:when test="$token = 'x'">
<xsl:value-of select="date:date($date)"/>
</xsl:when>
<xsl:when test="$token = 'X'">
<xsl:value-of select="date:time($date)"/>
</xsl:when>
<xsl:when test="$token = 'Y'">
<xsl:value-of select="date:year($date)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:message>
Timestamp processing requires an XSLT processor with support
for the EXSLT node-set() function.
</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:message>
Timestamp processing requires an XSLT processor with support
for the EXSLT node-set() function.
</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@ -16,36 +16,25 @@
******************************************************************** -->
<!-- ==================================================================== -->
<doc:reference xmlns="">
<referenceinfo>
<doc:reference xmlns="" xml:id="refentry">
<info>
<title>Common » Refentry Metadata Template Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
<corpauthor>The DocBook Project</corpauthor>
<copyright>
<year>2005-2007</year>
<holder>The DocBook Project</holder>
</copyright>
</referenceinfo>
<title>Refentry Metadata-Gathering Template Reference</title>
<partintro id="partintro">
</info>
<!-- * yes, partintro is a valid child of a reference... -->
<partintro xml:id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the "refentry
metadata gathering" templates in the DocBook XSL Stylesheets.</para>
<para>This is technical reference documentation for the “refentry
metadata” templates in the DocBook XSL Stylesheets.</para>
<para>This is not intended to be user documentation. It is provided
for developers writing customization layers for the
stylesheets.</para>
for developers writing customization layers for the stylesheets.</para>
<note>
<para>Currently, only the manpages stylesheets make use of these
templates. They are, however, potentially useful elsewhere.</para>
</note>
</partintro>
</doc:reference>
<!-- ==================================================================== -->
@ -56,27 +45,27 @@
etc., is sometimes viewed in isolation from its greater "context". For
example, users view Unix man pages as, well, individual pages, not as
part of a "book" of some kind. Therefore, it is sometimes necessary to
embed "context" information in output for each <sgmltag>refentry</sgmltag>.</para>
embed "context" information in output for each <tag>refentry</tag>.</para>
<para>However, one problem is that different users mark up that
context information in different ways. Often (usually), the
context information is not actually part of the content of the
<sgmltag>refentry</sgmltag> itself, but instead part of the content of a
parent or ancestor element to the the <sgmltag>refentry</sgmltag>. And
<tag>refentry</tag> itself, but instead part of the content of a
parent or ancestor element to the the <tag>refentry</tag>. And
even then, DocBook provides a variety of elements that users might
potentially use to mark up the same kind of information. One user
might use the <sgmltag>productnumber</sgmltag> element to mark up version
might use the <tag>productnumber</tag> element to mark up version
information about a particular product, while another might use
the <sgmltag>releaseinfo</sgmltag> element.</para>
the <tag>releaseinfo</tag> element.</para>
<para>Taking all that in mind, the
<function>get.refentry.metadata</function> template tries to gather
metadata from a <sgmltag>refentry</sgmltag> element and its ancestor
metadata from a <tag>refentry</tag> element and its ancestor
elements in an intelligent and user-configurable way. The basic
mechanism used in the XPath expressions throughout this stylesheet
is to select the relevant metadata from the *info element that is
closest to the actual <sgmltag>refentry</sgmltag>&#160; either on the
<sgmltag>refentry</sgmltag> itself, or on its nearest ancestor.</para>
closest to the actual <tag>refentry</tag>&#160; either on the
<tag>refentry</tag> itself, or on its nearest ancestor.</para>
<note>
<para>The <function>get.refentry.metadata</function>
@ -91,13 +80,13 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
<term>info</term>
<listitem>
<para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
<para>A set of info nodes (from a <tag>refentry</tag>
element and its ancestors)</para>
</listitem>
</varlistentry>
@ -194,23 +183,23 @@
<refdescription id="get.refentry.title-desc">
<para>The <literal>man(7)</literal> man page describes this as "the
title of the man page (e.g., <literal>MAN</literal>). This differs
from <sgmltag>refname</sgmltag> in that, if the <sgmltag>refentry</sgmltag> has a
<sgmltag>refentrytitle</sgmltag>, we use that as the <sgmltag>title</sgmltag>;
otherwise, we just use first <sgmltag>refname</sgmltag> in the first
<sgmltag>refnamediv</sgmltag> in the source.</para>
from <tag>refname</tag> in that, if the <tag>refentry</tag> has a
<tag>refentrytitle</tag>, we use that as the <tag>title</tag>;
otherwise, we just use first <tag>refname</tag> in the first
<tag>refnamediv</tag> in the source.</para>
</refdescription>
<refparameter id="get.refentry.title-params">
<variablelist>
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
</variablelist>
</refparameter>
<refreturn id="get.refentry.title-returns">
<para>Returns a <sgmltag>title</sgmltag> node.</para></refreturn>
<para>Returns a <tag>title</tag> node.</para></refreturn>
</doc:template>
<xsl:template name="get.refentry.title">
<xsl:param name="refname"/>
@ -232,8 +221,8 @@
<refdescription id="get.refentry.section-desc">
<para>The <literal>man(7)</literal> man page describes this as "the
section number the man page should be placed in (e.g.,
<literal>7</literal>)". If we do not find a <sgmltag>manvolnum</sgmltag>
specified in the source, and we find that the <sgmltag>refentry</sgmltag> is
<literal>7</literal>)". If we do not find a <tag>manvolnum</tag>
specified in the source, and we find that the <tag>refentry</tag> is
for a function, we use the section number <literal>3</literal>
["Library calls (functions within program libraries)"]; otherwise, we
default to using <literal>1</literal> ["Executable programs or shell
@ -244,7 +233,7 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
@ -323,13 +312,13 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
<term>info</term>
<listitem>
<para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
<para>A set of info nodes (from a <tag>refentry</tag>
element and its ancestors)</para>
</listitem>
</varlistentry>
@ -342,7 +331,7 @@
</variablelist>
</refparameter>
<refreturn id="get.refentry.date-returns">
<para>Returns a <sgmltag>date</sgmltag> node.</para>
<para>Returns a <tag>date</tag> node.</para>
</refreturn>
</doc:template>
<xsl:template name="get.refentry.date">
@ -495,13 +484,13 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
<term>info</term>
<listitem>
<para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
<para>A set of info nodes (from a <tag>refentry</tag>
element and its ancestors)</para>
</listitem>
</varlistentry>
@ -515,7 +504,7 @@
</variablelist>
</refparameter>
<refreturn id="get.refentry.source-returns">
<para>Returns a <sgmltag>source</sgmltag> node.</para>
<para>Returns a <tag>source</tag> node.</para>
</refreturn>
</doc:template>
<xsl:template name="get.refentry.source">
@ -611,13 +600,13 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
<term>info</term>
<listitem>
<para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
<para>A set of info nodes (from a <tag>refentry</tag>
element and its ancestors)</para>
</listitem>
</varlistentry>
@ -795,13 +784,13 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
<term>info</term>
<listitem>
<para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
<para>A set of info nodes (from a <tag>refentry</tag>
element and its ancestors)</para>
</listitem>
</varlistentry>
@ -981,13 +970,13 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>
<term>info</term>
<listitem>
<para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
<para>A set of info nodes (from a <tag>refentry</tag>
element and its ancestors)</para>
</listitem>
</varlistentry>
@ -1001,7 +990,7 @@
</variablelist>
</refparameter>
<refreturn id="get.refentry.manual-returns">
<para>Returns a <sgmltag>manual</sgmltag> node.</para>
<para>Returns a <tag>manual</tag> node.</para>
</refreturn>
</doc:template>
<xsl:template name="get.refentry.manual">
@ -1140,25 +1129,25 @@
<refpurpose>Gets user preferences for refentry metadata gathering</refpurpose>
<refdescription id="get.refentry.metadata.prefs-desc">
<para>The DocBook XSL stylesheets include several user-configurable
global stylesheet parameters for controlling <sgmltag>refentry</sgmltag>
global stylesheet parameters for controlling <tag>refentry</tag>
metadata gathering. Those parameters are not read directly by the
other <sgmltag>refentry</sgmltag> metadata-gathering
other <tag>refentry</tag> metadata-gathering
templates. Instead, they are read only by the
<function>get.refentry.metadata.prefs</function> template,
which assembles them into a structure that is then passed to
the other <sgmltag>refentry</sgmltag> metadata-gathering
the other <tag>refentry</tag> metadata-gathering
templates.</para>
<para>So the, <function>get.refentry.metadata.prefs</function>
template is the only interface to collecting stylesheet parameters for
controlling <sgmltag>refentry</sgmltag> metadata gathering.</para>
controlling <tag>refentry</tag> metadata gathering.</para>
</refdescription>
<refparameter id="get.refentry.metadata.prefs-params">
<para>There are no local parameters for this template; however, it
does rely on a number of global parameters.</para>
</refparameter>
<refreturn id="get.refentry.metadata.prefs-returns">
<para>Returns a <sgmltag>manual</sgmltag> node.</para>
<para>Returns a <tag>manual</tag> node.</para>
</refreturn>
</doc:template>
<xsl:template name="get.refentry.metadata.prefs">
@ -1223,7 +1212,7 @@
<varlistentry>
<term>refname</term>
<listitem>
<para>The first <sgmltag>refname</sgmltag> in the refentry</para>
<para>The first <tag>refname</tag> in the refentry</para>
</listitem>
</varlistentry>
<varlistentry>

View File

@ -124,17 +124,17 @@
<doc:template name="entry.colnum" xmlns="">
<refpurpose>Determine the column number in which a given entry occurs</refpurpose>
<refdescription id="entry.colnum-desc">
<para>If an <sgmltag>entry</sgmltag> has a
<sgmltag class="attribute">colname</sgmltag> or
<sgmltag class="attribute">namest</sgmltag> attribute, this template
<para>If an <tag>entry</tag> has a
<tag class="attribute">colname</tag> or
<tag class="attribute">namest</tag> attribute, this template
will determine the number of the column in which the entry should occur.
For other <sgmltag>entry</sgmltag>s, nothing is returned.</para>
For other <tag>entry</tag>s, nothing is returned.</para>
</refdescription>
<refparameter id="entry.colnum-params">
<variablelist>
<varlistentry><term>entry</term>
<listitem>
<para>The <sgmltag>entry</sgmltag>-element which is to be tested.</para>
<para>The <tag>entry</tag>-element which is to be tested.</para>
</listitem>
</varlistentry>
</variablelist>

View File

@ -3,6 +3,7 @@
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:saxon="http://icl.com/saxon"
xmlns:xlink="http://www.w3.org/1999/xlink"
exclude-result-prefixes="doc dyn saxon"
version='1.0'>
@ -15,42 +16,33 @@
copyright and other information.
******************************************************************** -->
<doc:reference xmlns="">
<referenceinfo>
<releaseinfo role="meta">
$Id$
</releaseinfo>
<corpauthor>The DocBook Project Development Team</corpauthor>
<copyright><year>2007</year>
<holder>The DocBook Project</holder>
</copyright>
</referenceinfo>
<title>Utility Template Reference</title>
<partintro id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the
miscellaneous utility templates in the DocBook XSL
Stylesheets.</para>
<note>
<para>These templates are defined in a separate file from the set
of “common” templates because some of the comment templates
reference DocBook XSL stylesheet parameters, requiring the
entire set of parameters to be imported/included in any
stylesheet that imports/includes the common templates.</para>
<para>The utility templates dont import or include any DocBook
XSL stylesheet parameters, so the utility templates can be used
without importing the whole set of parameters.</para>
</note>
<para>The following documentation is not intended to be
<quote>user</quote> documentation. It is provided for developers
writing customization layers for the stylesheets, and for anyone
who's interested in <quote>how it works</quote>.</para>
</partintro>
<doc:reference xmlns="" xml:id="utility">
<info>
<title>Common » Utility Template Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
</info>
<!-- * yes, partintro is a valid child of a reference... -->
<partintro xml:id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the
miscellaneous utility templates in the DocBook XSL
Stylesheets.</para>
<note>
<para>These templates are defined in a separate file from the set
of “common” templates because some of the comment templates
reference DocBook XSL stylesheet parameters, requiring the
entire set of parameters to be imported/included in any
stylesheet that imports/includes the common templates.</para>
<para>The utility templates dont import or include any DocBook
XSL stylesheet parameters, so the utility templates can be used
without importing the whole set of parameters.</para>
</note>
<para>This is not intended to be user documentation. It is
provided for developers writing customization layers for the
stylesheets.</para>
</partintro>
</doc:reference>
<!-- ====================================================================== -->
@ -67,8 +59,7 @@ $Id$
<refparameter id="log.message-params">
<variablelist>
<varlistentry>
<term>level</term>
<varlistentry><term>level</term>
<listitem>
<para>Text to log/emit in the message-level field to
indicate the message level
@ -76,8 +67,7 @@ $Id$
<literal>Warning</literal>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>source</term>
<varlistentry><term>source</term>
<listitem>
<para>Text to log/emit in the source field to identify the
“source” to which the notification/warning relates.
@ -96,15 +86,13 @@ $Id$
XPath expression.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>context-desc</term>
<varlistentry><term>context-desc</term>
<listitem>
<para>Text to log/emit in the context-description field to
describe the context for the message.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>context-desc-field-length</term>
<varlistentry><term>context-desc-field-length</term>
<listitem>
<para>Specifies length of the context-description field
(in characters); default is 12</para>
@ -126,14 +114,12 @@ $Id$
parameter.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>message</term>
<varlistentry><term>message</term>
<listitem>
<para>Text to log/emit in the actual message field</para>
</listitem>
</varlistentry>
<varlistentry>
<term>message-field-length</term>
<varlistentry><term>message-field-length</term>
<listitem>
<para>Specifies length of the message
field (in characters); default is 45</para>
@ -255,11 +241,11 @@ $Id$
character).</para>
<note>
<para>This function began as a copy of Nate Austin's
<function>prepend-pad</function> function in the <ulink
url="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
Content</ulink> section of Dave Pawson's <ulink
url="http://www.dpawson.co.uk/xsl/index.html" >XSLT
FAQ</ulink>.</para>
<function>prepend-pad</function> function in the <link
xlink:href="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
Content</link> section of Dave Pawson's <link
xlink:href="http://www.dpawson.co.uk/xsl/index.html" >XSLT
FAQ</link>.</para>
</note>
</refdescription>
<refreturn id="pad-string-returns">

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="摘要"/>
<l:gentext key="abstract" text="摘要"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. -->
<!-- ******************************************************************** -->
<!-- In these files, % with a letter is used for a placeholder: -->
<!-- %t is the current element's title -->
<!-- %s is the current element's subtitle (if applicable)-->
<!-- %n is the current element's number label-->
<!-- %p is the current element's page number (if applicable)-->
<!-- ******************************************************************** -->
<l:gentext key="Abstract" text="摘要"/>
<l:gentext key="abstract" text="摘要"/>

View File

@ -713,31 +713,46 @@
</xsl:param>
<xsl:param name="element" select="local-name(.)"/>
<xsl:param name="gentext-key" select="local-name(.)"/>
<xsl:param name="language">
<xsl:call-template name="l10n.language"/>
</xsl:param>
<xsl:param name="format">
<xsl:call-template name="page.number.format">
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
</xsl:param>
<xsl:param name="initial-page-number">
<xsl:call-template name="initial.page.number">
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
</xsl:param>
<xsl:param name="force-page-count">
<xsl:call-template name="force.page.count">
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
</xsl:param>
<fo:page-sequence hyphenate="{$hyphenate}"
master-reference="{$master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
<xsl:value-of select="$language"/>
</xsl:attribute>
<xsl:attribute name="format">
<xsl:call-template name="page.number.format">
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
<xsl:value-of select="$format"/>
</xsl:attribute>
<xsl:attribute name="initial-page-number">
<xsl:call-template name="initial.page.number">
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
<xsl:value-of select="$initial-page-number"/>
</xsl:attribute>
<xsl:attribute name="force-page-count">
<xsl:call-template name="force.page.count">
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
<xsl:value-of select="$force-page-count"/>
</xsl:attribute>
<xsl:attribute name="hyphenation-character">

View File

@ -1271,5 +1271,17 @@
<!-- ==================================================================== -->
</xsl:stylesheet>
<xsl:template name="orderedlist-starting-number">
<xsl:param name="list" select="."/>
<xsl:variable name="pi-start">
<xsl:call-template name="pi.dbfo_start">
<xsl:with-param name="node" select="$list"/>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="output-orderedlist-starting-number">
<xsl:with-param name="list" select="$list"/>
<xsl:with-param name="pi-start" select="$pi-start"/>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" xmlns="http://docbook.org/ns/docbook" exclude-result-prefixes="src" version="1.0">
<!-- This file is generated from param.xweb -->

File diff suppressed because it is too large Load Diff

View File

@ -22,31 +22,22 @@
******************************************************************** -->
<doc:reference xmlns="">
<referenceinfo>
<releaseinfo role="meta">
$Id$
</releaseinfo>
<author><surname>Walsh</surname>
<firstname>Norman</firstname></author>
<copyright><year>1999</year><year>2000</year>
<holder>Norman Walsh</holder>
</copyright>
</referenceinfo>
<title>Formatting Object Table Reference</title>
<partintro id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the FO
table-processing templates in the DocBook XSL Stylesheets.</para>
<para>This is not intended to be <quote>user</quote> documentation.
It is provided for developers writing customization layers for the
stylesheets, and for anyone who's interested in <quote>how it
works</quote>.</para>
</partintro>
<doc:reference xmlns="" xml:id="table-templates">
<?dbhtml dir="fo"?>
<info>
<title>Formatting Object Table Reference</title>
<releaseinfo role="meta">
$Id$
</releaseinfo>
</info>
<partintro xml:id="partintro">
<title>Introduction</title>
<para>This is technical reference documentation for the FO
table-processing templates in the DocBook XSL Stylesheets.</para>
<para>This is not intended to be user documentation. It is
provided for developers writing customization layers for the
stylesheets.</para>
</partintro>
</doc:reference>
<!-- ==================================================================== -->

View File

@ -350,7 +350,8 @@
<xsl:template match="node()|@*" mode="hyphenate.verbatim">
<xsl:copy>
<xsl:apply-templates select="node()|@*" mode="hyphenate.verbatim"/>
<xsl:copy-of select="@*"/>
<xsl:apply-templates mode="hyphenate.verbatim"/>
</xsl:copy>
</xsl:template>

View File

@ -718,6 +718,17 @@
<xsl:apply-templates select="." mode="callout-bug"/>
</xsl:template>
<xsl:template match="area|areaset" mode="xref-to">
<xsl:param name="referrer"/>
<xsl:param name="xrefstyle"/>
<xsl:call-template name="callout-bug">
<xsl:with-param name="conum">
<xsl:apply-templates select="." mode="conumber"/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="book" mode="xref-to">
<xsl:param name="referrer"/>
<xsl:param name="xrefstyle"/>

View File

@ -1,5 +1,4 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="ASCII"?>
<!-- ********************************************************************
$Id$
********************************************************************
@ -11,9 +10,7 @@
This module implements DTD-independent functions
******************************************************************** -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" xmlns:dyn="http://exslt.org/dynamic" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" exclude-result-prefixes="src" version="1.0">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" xmlns:ssb="http://sideshowbarker.net/ns" xmlns:dyn="http://exslt.org/dynamic" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" xmlns="http://docbook.org/ns/docbook" exclude-result-prefixes="src" version="1.0">
<xsl:template name="dot.count">
<!-- Returns the number of "." characters in a string -->
@ -312,63 +309,60 @@
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="str.tokenize.keep.delimiters">
<xsl:param name="string" select="''"/>
<xsl:param name="delimiters" select="' '"/>
<xsl:choose>
<xsl:when test="not($string)"/>
<xsl:when test="not($delimiters)">
<xsl:call-template name="str.tokenize.keep.delimiters-characters">
<xsl:with-param name="string" select="$string"/>
</xsl:call-template>
<xsl:call-template name="str.tokenize.keep.delimiters-characters">
<xsl:with-param name="string" select="$string"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="$string"/>
<xsl:with-param name="delimiters" select="$delimiters"/>
</xsl:call-template>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="$string"/>
<xsl:with-param name="delimiters" select="$delimiters"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="str.tokenize.keep.delimiters-characters">
<xsl:param name="string"/>
<xsl:if test="$string">
<token><xsl:value-of select="substring($string, 1, 1)"/></token>
<ssb:token><xsl:value-of select="substring($string, 1, 1)"/></ssb:token>
<xsl:call-template name="str.tokenize.keep.delimiters-characters">
<xsl:with-param name="string" select="substring($string, 2)"/>
<xsl:with-param name="string" select="substring($string, 2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="str.tokenize.keep.delimiters-delimiters">
<xsl:param name="string"/>
<xsl:param name="delimiters"/>
<xsl:variable name="delimiter" select="substring($delimiters, 1, 1)"/>
<xsl:choose>
<xsl:when test="not($delimiter)">
<token><xsl:value-of select="$string"/></token>
<ssb:token><xsl:value-of select="$string"/></ssb:token>
</xsl:when>
<xsl:when test="contains($string, $delimiter)">
<xsl:if test="not(starts-with($string, $delimiter))">
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="substring-before($string, $delimiter)"/>
<xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
</xsl:call-template>
</xsl:if>
<!-- output each delimiter -->
<xsl:value-of select="$delimiter"/>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="substring-after($string, $delimiter)"/>
<xsl:with-param name="delimiters" select="$delimiters"/>
</xsl:call-template>
<xsl:if test="not(starts-with($string, $delimiter))">
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="substring-before($string, $delimiter)"/>
<xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
</xsl:call-template>
</xsl:if>
<!-- output each delimiter -->
<xsl:value-of select="$delimiter"/>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="substring-after($string, $delimiter)"/>
<xsl:with-param name="delimiters" select="$delimiters"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="$string"/>
<xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
</xsl:call-template>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="$string"/>
<xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

View File

@ -113,12 +113,12 @@
</xsl:attribute>
</xsl:if>
<h3 class="title">
<xsl:call-template name="anchor"/>
<xsl:if test="$admon.textlabel != 0 or title or info/title">
<xsl:if test="$admon.textlabel != 0 or title or info/title">
<h3 class="title">
<xsl:call-template name="anchor"/>
<xsl:apply-templates select="." mode="object.title.markup"/>
</xsl:if>
</h3>
</h3>
</xsl:if>
<xsl:apply-templates/>
</div>

View File

@ -309,6 +309,7 @@
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="context" select="$toc-context"/>
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
@ -482,7 +483,9 @@
<span class="refentrytitle">
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target"/>
<xsl:call-template name="href.target">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:copy-of select="$title"/>
</a>
@ -505,6 +508,7 @@
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select=".."/>
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates/>
@ -532,6 +536,7 @@
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$node"/>
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="$node" mode="titleabbrev.markup"/>
@ -602,7 +607,9 @@
</xsl:if>
<a>
<xsl:attribute name="href">
<xsl:call-template name="href.target"/>
<xsl:call-template name="href.target">
<xsl:with-param name="toc-context" select="$toc-context"/>
</xsl:call-template>
</xsl:attribute>
<xsl:apply-templates select="." mode="titleabbrev.markup"/>
</a>

View File

@ -64,7 +64,7 @@
</xsl:variable>
<xsl:variable name="dbhtml-filename">
<xsl:call-template name="dbhtml-filename"/>
<xsl:call-template name="pi.dbhtml_filename"/>
</xsl:variable>
<xsl:variable name="filename">

View File

@ -737,32 +737,98 @@
<xsl:template name="href.target">
<xsl:param name="context" select="."/>
<xsl:param name="object" select="."/>
<xsl:param name="toc-context" select="."/>
<!-- * If $toc-context contains some node other than the current node, -->
<!-- * it means we're processing a link in a TOC. In that case, to -->
<!-- * ensure the link will work correctly, we need to take a look at -->
<!-- * where the file containing the TOC will get written, and where -->
<!-- * the file that's being linked to will get written. -->
<xsl:variable name="toc-output-dir">
<xsl:if test="not($toc-context = .)">
<!-- * Get the $toc-context node and all its ancestors, look down -->
<!-- * through them to find the last/closest node to the -->
<!-- * toc-context node that has a "dbhtml dir" PI, and get the -->
<!-- * directory name from that. That's the name of the directory -->
<!-- * to which the current toc output file will get written. -->
<xsl:call-template name="dbhtml-dir">
<xsl:with-param name="context" select="$toc-context/ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="linked-file-output-dir">
<xsl:if test="not($toc-context = .)">
<!-- * Get the current node and all its ancestors, look down -->
<!-- * through them to find the last/closest node to the current -->
<!-- * node that has a "dbhtml dir" PI, and get the directory name -->
<!-- * from that. That's the name of the directory to which the -->
<!-- * file that's being linked to will get written. -->
<xsl:call-template name="dbhtml-dir">
<xsl:with-param name="context" select="ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="href.to.uri">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$object"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="href.from.uri">
<xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$context"/>
</xsl:call-template>
</xsl:variable>
<!--
<xsl:message>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message>
<xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></xsl:message>
-->
<!-- * <xsl:message>toc-context: <xsl:value-of select="local-name($toc-context)"/></xsl:message> -->
<!-- * <xsl:message>node: <xsl:value-of select="local-name(.)"/></xsl:message> -->
<!-- * <xsl:message>context: <xsl:value-of select="local-name($context)"/></xsl:message> -->
<!-- * <xsl:message>object: <xsl:value-of select="local-name($object)"/></xsl:message> -->
<!-- * <xsl:message>toc-output-dir: <xsl:value-of select="$toc-output-dir"/></xsl:message> -->
<!-- * <xsl:message>linked-file-output-dir: <xsl:value-of select="$linked-file-output-dir"/></xsl:message> -->
<!-- * <xsl:message>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message> -->
<!-- * <xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></xsl:message> -->
<xsl:variable name="href.to">
<xsl:call-template name="trim.common.uri.paths">
<xsl:with-param name="uriA" select="$href.to.uri"/>
<xsl:with-param name="uriB" select="$href.from.uri"/>
<xsl:with-param name="return" select="'A'"/>
</xsl:call-template>
<xsl:choose>
<!-- * 2007-07-19, MikeSmith: Added the following conditional to -->
<!-- * deal with a problem case for links in TOCs. It checks to see -->
<!-- * if the output dir that a TOC will get written to is -->
<!-- * different from the output dir of the file being linked to. -->
<!-- * If it is different, we do not call trim.common.uri.paths. -->
<!-- * -->
<!-- * Reason why I added that conditional is: I ran into a bug for -->
<!-- * this case: -->
<!-- * -->
<!-- * 1. we are chunking into separate dirs -->
<!-- * -->
<!-- * 2. output for the TOC is written to current dir, but the file -->
<!-- * being linked to is written to some subdir "foo". -->
<!-- * -->
<!-- * For that case, links to that file in that TOC did not show -->
<!-- * the correct path - they omitted the "foo". -->
<!-- * -->
<!-- * The cause of that problem was that the trim.common.uri.paths -->
<!-- * template[1] was being called under all conditions. But it's -->
<!-- * apparent that we don't want to call trim.common.uri.paths in -->
<!-- * the case where a linked file is being written to a different -->
<!-- * directory than the TOC that contains the link, because doing -->
<!-- * so will cause a necessary (not redundant) directory-name -->
<!-- * part of the link to get inadvertently trimmed, resulting in -->
<!-- * a broken link to that file. Thus, added the conditional. -->
<!-- * -->
<!-- * [1] The purpose of the trim.common.uri.paths template is to -->
<!-- * prevent cases where, if we didn't call it, we end up with -->
<!-- * unnecessary, redundant directory names getting output; for -->
<!-- * example, "foo/foo/refname.html". -->
<xsl:when test="not($toc-output-dir = $linked-file-output-dir)">
<xsl:value-of select="$href.to.uri"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="trim.common.uri.paths">
<xsl:with-param name="uriA" select="$href.to.uri"/>
<xsl:with-param name="uriB" select="$href.from.uri"/>
<xsl:with-param name="return" select="'A'"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="href.from">
<xsl:call-template name="trim.common.uri.paths">
<xsl:with-param name="uriA" select="$href.to.uri"/>
@ -770,13 +836,11 @@
<xsl:with-param name="return" select="'B'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="depth">
<xsl:call-template name="count.uri.path.depth">
<xsl:with-param name="filename" select="$href.from"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="href">
<xsl:call-template name="copy-string">
<xsl:with-param name="string" select="'../'"/>
@ -784,7 +848,6 @@
</xsl:call-template>
<xsl:value-of select="$href.to"/>
</xsl:variable>
<!--
<xsl:message>
<xsl:text>In </xsl:text>
@ -799,7 +862,6 @@
<xsl:value-of select="$href"/>
</xsl:message>
-->
<xsl:value-of select="$href"/>
</xsl:template>
@ -1444,4 +1506,40 @@
</xsl:call-template>
</xsl:template>
<!-- ==================================================================== -->
<xsl:template name="dbhtml-dir">
<xsl:param name="context" select="."/>
<!-- directories are now inherited from previous levels -->
<xsl:variable name="ppath">
<xsl:if test="$context/parent::*">
<xsl:call-template name="dbhtml-dir">
<xsl:with-param name="context" select="$context/parent::*"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="path">
<xsl:call-template name="pi.dbhtml_dir">
<xsl:with-param name="node" select="$context"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$path = ''">
<xsl:if test="$ppath != ''">
<xsl:value-of select="$ppath"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$ppath != ''">
<xsl:value-of select="$ppath"/>
<xsl:if test="substring($ppath, string-length($ppath), 1) != '/'">
<xsl:text>/</xsl:text>
</xsl:if>
</xsl:if>
<xsl:value-of select="$path"/>
<xsl:text>/</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -49,8 +49,8 @@
<xsl:variable name="chunk" select="$chunks//tocentry[@linkend=$id]"/>
<xsl:variable name="filename">
<xsl:call-template name="dbhtml-filename">
<xsl:with-param name="pis" select="$chunk/processing-instruction('dbhtml')"/>
<xsl:call-template name="pi.dbhtml_filename">
<xsl:with-param name="node" select="$chunk"/>
</xsl:call-template>
</xsl:variable>

View File

@ -37,11 +37,13 @@
<xsl:element name="h{$level+1}" namespace="http://www.w3.org/1999/xhtml">
<xsl:attribute name="class">title</xsl:attribute>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:if test="$generate.id.attributes = 0">
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
</xsl:if>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
</xsl:element>
@ -350,7 +352,7 @@
</div>
</xsl:template>
<xsl:template match="article/title" mode="titlepage.mode" priority="2">
<xsl:template match="article/title|article/articleinfo/title" mode="titlepage.mode" priority="2">
<xsl:call-template name="component.title">
<xsl:with-param name="node" select="ancestor::article[1]"/>
</xsl:call-template>

View File

@ -213,11 +213,13 @@
<h1>
<xsl:attribute name="class">title</xsl:attribute>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:if test="$generate.id.attributes = 0">
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$node"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
</xsl:if>
<xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
</h1>

View File

@ -103,7 +103,9 @@
<xsl:variable name="content">
<div class="{$class}">
<xsl:if test="$spacing.paras != 0"><p/></xsl:if>
<xsl:call-template name="anchor"/>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates/>
<!-- HACK: This doesn't belong inside formal.object; it

View File

@ -221,9 +221,8 @@
</xsl:variable>
<xsl:variable name="img.src.path.pi">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="../processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'img.src.path'"/>
<xsl:call-template name="pi.dbhtml_img.src.path">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:variable>
@ -598,9 +597,8 @@ valign: <xsl:value-of select="@valign"/></xsl:message>
</xsl:variable>
<xsl:variable name="bgcolor">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="../processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'background-color'"/>
<xsl:call-template name="pi.dbhtml_background-color">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:variable>

View File

@ -196,10 +196,7 @@
<xsl:template match="variablelist">
<xsl:variable name="pi-presentation">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'list-presentation'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_list-presentation"/>
</xsl:variable>
<xsl:variable name="presentation">
@ -217,24 +214,15 @@
</xsl:variable>
<xsl:variable name="list-width">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'list-width'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_list-width"/>
</xsl:variable>
<xsl:variable name="term-width">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'term-width'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_term-width"/>
</xsl:variable>
<xsl:variable name="table-summary">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'table-summary'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_table-summary"/>
</xsl:variable>
<div>
@ -334,16 +322,14 @@
<xsl:template match="varlistentry" mode="varlist-table">
<xsl:variable name="presentation">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="../processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'term-presentation'"/>
<xsl:call-template name="pi.dbhtml_term-presentation">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="separator">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="../processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'term-separator'"/>
<xsl:call-template name="pi.dbhtml_term-separator">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:variable>
<tr>
@ -462,10 +448,10 @@
<xsl:variable name="localized-choice-separator">
<xsl:choose>
<xsl:when test="processing-instruction('dbchoice')">
<xsl:call-template name="select.choice.separator"/>
<xsl:call-template name="select.choice.separator"/>
</xsl:when>
<xsl:otherwise>
<!-- empty -->
<!-- empty -->
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
@ -743,10 +729,7 @@
<xsl:template match="segmentedlist">
<xsl:variable name="presentation">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'list-presentation'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_list-presentation"/>
</xsl:variable>
<div>
@ -814,17 +797,11 @@
<xsl:template match="segmentedlist" mode="seglist-table">
<xsl:variable name="table-summary">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'table-summary'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_table-summary"/>
</xsl:variable>
<xsl:variable name="list-width">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'list-width'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_list-width"/>
</xsl:variable>
<xsl:apply-templates select="title"/>
@ -1052,4 +1029,17 @@
<!-- ==================================================================== -->
<xsl:template name="orderedlist-starting-number">
<xsl:param name="list" select="."/>
<xsl:variable name="pi-start">
<xsl:call-template name="pi.dbhtml_start">
<xsl:with-param name="node" select="$list"/>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="output-orderedlist-starting-number">
<xsl:with-param name="list" select="$list"/>
<xsl:with-param name="pi-start" select="$pi-start"/>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

View File

@ -267,9 +267,8 @@
<xsl:template name="tex.math.output.delims">
<xsl:variable name="pi.delims">
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis" select=".//processing-instruction('dbtex')"/>
<xsl:with-param name="attribute" select="'delims'"/>
<xsl:call-template name="pi.dbtex_delims">
<xsl:with-param name="node" select="descendant-or-self::*"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="result">

View File

@ -2,7 +2,7 @@
<!--This file was created automatically by html2xhtml-->
<!--from the HTML stylesheets.-->
<!-- This file is generated from param.xweb -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" xmlns="http://docbook.org/ns/docbook" exclude-result-prefixes="src" version="1.0">
<!-- ********************************************************************
$Id$
@ -65,7 +65,7 @@ div.annotation-close { position: absolute;
right: 2px;
}
</xsl:param>
<xsl:param name="annotation.js" select="'http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js'"/>
<xsl:param name="annotation.js" select="'http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js'"/>
<xsl:param name="annotation.graphic.open" select="'http://docbook.sourceforge.net/release/images/annot-open.png'"/>
<xsl:param name="annotation.graphic.close" select="'http://docbook.sourceforge.net/release/images/annot-close.png'"/>
<xsl:param name="annotation.support" select="0"/>
@ -121,7 +121,7 @@ div.annotation-close { position: absolute;
<xsl:param name="ebnf.table.bgcolor" select="'#F5DCB3'"/>
<xsl:param name="ebnf.table.border" select="1"/>
<xsl:param name="ebnf.assignment">
<code>::=</code>
<code xmlns="http://www.w3.org/1999/xhtml">::=</code>
</xsl:param>
<xsl:param name="ebnf.statement.terminator"/>

File diff suppressed because it is too large Load Diff

View File

@ -66,7 +66,7 @@
</xsl:variable>
<xsl:variable name="dbhtml-filename">
<xsl:call-template name="dbhtml-filename"/>
<xsl:call-template name="pi.dbhtml_filename"/>
</xsl:variable>
<xsl:variable name="filename">

View File

@ -19,10 +19,7 @@
<xsl:variable name="title" select="(blockinfo/title|info/title|title)[1]"/>
<xsl:variable name="preamble" select="*[local-name(.) != 'title' and local-name(.) != 'titleabbrev' and local-name(.) != 'qandadiv' and local-name(.) != 'qandaentry']"/>
<xsl:variable name="toc">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'toc'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_toc"/>
</xsl:variable>
<xsl:variable name="toc.params">
@ -75,10 +72,7 @@
</xsl:if>
<xsl:variable name="toc">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'toc'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_toc"/>
</xsl:variable>
<xsl:variable name="toc.params">
@ -316,31 +310,19 @@
<xsl:template name="process.qandaset">
<xsl:variable name="label-width">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'label-width'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_label-width"/>
</xsl:variable>
<xsl:variable name="table-summary">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'table-summary'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_table-summary"/>
</xsl:variable>
<xsl:variable name="cellpadding">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'cellpadding'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_cellpadding"/>
</xsl:variable>
<xsl:variable name="cellspacing">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'cellspacing'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_cellspacing"/>
</xsl:variable>
<table border="0" summary="Q and A Set">

View File

@ -435,12 +435,15 @@
<xsl:attribute name="style">clear: both</xsl:attribute>
</xsl:if>
</xsl:if>
<xsl:if test="$allow-anchors != 0">
<xsl:if test="$allow-anchors != 0 and $generate.id.attributes = 0">
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$section"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$generate.id.attributes != 0 and not(local-name(.) = 'appendix')">
<xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
</xsl:if>
<xsl:copy-of select="$title"/>
</xsl:element>
</xsl:template>

View File

@ -23,7 +23,9 @@
<div>
<xsl:apply-templates select="." mode="class.attribute"/>
<p>
<xsl:call-template name="anchor"/>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates/>
</p>
</div>
@ -177,9 +179,8 @@ paramdef ::= (#PCDATA|type|replaceable|parameter|funcparams)*
<xsl:template match="funcprototype">
<xsl:variable name="html-style">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="ancestor::funcsynopsis//processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'funcsynopsis-style'"/>
<xsl:call-template name="pi.dbhtml_funcsynopsis-style">
<xsl:with-param name="node" select="ancestor::funcsynopsis/descendant-or-self::*"/>
</xsl:call-template>
</xsl:variable>

View File

@ -135,24 +135,15 @@
</xsl:if>
<xsl:variable name="summary">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'table-summary'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_table-summary"/>
</xsl:variable>
<xsl:variable name="cellspacing">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'cellspacing'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_cellspacing"/>
</xsl:variable>
<xsl:variable name="cellpadding">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')[1]"/>
<xsl:with-param name="attribute" select="'cellpadding'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_cellpadding"/>
</xsl:variable>
<table>
@ -215,7 +206,6 @@
<xsl:choose>
<xsl:when test="$table.borders.with.css != 0">
<xsl:attribute name="border">0</xsl:attribute>
<xsl:choose>
<xsl:when test="../@frame='all' or (not(../@frame) and $default.table.frame='all')">
<xsl:attribute name="style">
@ -302,12 +292,18 @@
</xsl:call-template>
</xsl:attribute>
</xsl:when>
<xsl:when test="../@frame='none'">
<xsl:attribute name="style">
<xsl:text>border: none;</xsl:text>
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style">
<xsl:text>border-collapse: collapse;</xsl:text>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="../@frame='none' or (not(../@frame) and $default.table.frame='none') or local-name(.) = 'entrytbl'">
<xsl:attribute name="border">0</xsl:attribute>
@ -326,9 +322,8 @@
</xsl:variable>
<xsl:variable name="explicit.table.width">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="../processing-instruction('dbhtml')[1]"/>
<xsl:with-param name="attribute" select="'table-width'"/>
<xsl:call-template name="pi.dbhtml_table-width">
<xsl:with-param name="node" select=".."/>
</xsl:call-template>
</xsl:variable>
@ -416,10 +411,7 @@
<xsl:template match="tgroup/processing-instruction('dbhtml')">
<xsl:variable name="summary">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="."/>
<xsl:with-param name="attribute" select="'table-summary'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_table-summary"/>
</xsl:variable>
<!-- Suppress the table-summary PI -->
@ -545,28 +537,19 @@
<xsl:variable name="row-height">
<xsl:if test="processing-instruction('dbhtml')">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'row-height'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_row-height"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="bgcolor">
<xsl:if test="processing-instruction('dbhtml')">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'bgcolor'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_bgcolor"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="class">
<xsl:if test="processing-instruction('dbhtml')">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'class'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_class"/>
</xsl:if>
</xsl:variable>
@ -776,10 +759,7 @@
<xsl:otherwise>
<xsl:variable name="bgcolor">
<xsl:if test="processing-instruction('dbhtml')">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'bgcolor'"/>
</xsl:call-template>
<xsl:call-template name="pi.dbhtml_bgcolor"/>
</xsl:if>
</xsl:variable>

View File

@ -928,7 +928,9 @@
<h1>
<xsl:apply-templates select="." mode="class.attribute"/>
<a id="{$id}"/>
<xsl:if test="$generate.id.attributes = 0">
<a id="{$id}"/>
</xsl:if>
<xsl:choose>
<xsl:when test="$show.revisionflag != 0 and @revisionflag">
<span class="{@revisionflag}">

View File

@ -169,23 +169,20 @@
<!-- Extract the <?dbhtml linenumbering.*?> PI values -->
<xsl:variable name="pi.linenumbering.everyNth">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="$pi.context/processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
<xsl:call-template name="pi.dbhtml_linenumbering.everyNth">
<xsl:with-param name="node" select="$pi.context"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="pi.linenumbering.separator">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="$pi.context/processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'linenumbering.separator'"/>
<xsl:call-template name="pi.dbhtml_linenumbering.separator">
<xsl:with-param name="node" select="$pi.context"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="pi.linenumbering.width">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis" select="$pi.context/processing-instruction('dbhtml')"/>
<xsl:with-param name="attribute" select="'linenumbering.width'"/>
<xsl:call-template name="pi.dbhtml_linenumbering.width">
<xsl:with-param name="node" select="$pi.context"/>
</xsl:call-template>
</xsl:variable>

View File

@ -726,7 +726,6 @@
<xsl:apply-templates select="." mode="callout-bug"/>
</xsl:template>
<!-- This is currently not working, because there is no corresponding ID generated by Java extensions for processing callouts
<xsl:template match="area|areaset" mode="xref-to">
<xsl:param name="referrer"/>
<xsl:param name="xrefstyle"/>
@ -737,7 +736,6 @@
</xsl:with-param>
</xsl:call-template>
</xsl:template>
-->
<xsl:template match="book" mode="xref-to">
<xsl:param name="referrer"/>