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

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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"/>
<l:gentext key="abstract" text="Zusammenfassung"/> <l:gentext key="abstract" text="Zusammenfassung"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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"/>
<l:gentext key="abstract" text="Abstract"/> <l:gentext key="abstract" text="Abstract"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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"/>
<l:gentext key="abstract" text="resumen"/> <l:gentext key="abstract" text="resumen"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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é"/>
<l:gentext key="abstract" text="Résumé"/> <l:gentext key="abstract" text="Résumé"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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"/>
<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:value-of select="@label"/>
</xsl:when> </xsl:when>
<xsl:when test="string($reference.autolabel) != 0"> <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:variable name="format">
<xsl:call-template name="autolabel.format"> <xsl:call-template name="autolabel.format">
<xsl:with-param name="format" select="$reference.autolabel"/> <xsl:with-param name="format" select="$reference.autolabel"/>
</xsl:call-template> </xsl:call-template>
</xsl:variable> </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:when>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>

View File

@ -1,11 +1,13 @@
<?xml version='1.0'?> <?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <xsl:stylesheet
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
xmlns:exsl="http://exslt.org/common" xmlns:date="http://exslt.org/dates-and-times"
exclude-result-prefixes="doc date exsl" xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="date exsl" xmlns:xlink="http://www.w3.org/1999/xlink"
version='1.0'> exclude-result-prefixes="doc date exsl"
extension-element-prefixes="date exsl"
version='1.0'>
<!-- ******************************************************************** <!-- ********************************************************************
$Id$ $Id$
@ -15,17 +17,108 @@
See ../README or http://docbook.sf.net/release/xsl/current/ for See ../README or http://docbook.sf.net/release/xsl/current/ for
copyright and other information. 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 --> <doc:reference xmlns=""><info><title>Common Processing Instruction Reference</title>
<xsl:template match="processing-instruction()" mode="titlepage.mode"> <releaseinfo role="meta">
<xsl:apply-templates select="."/> $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>
<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="format">
<xsl:variable name="pi-format"> <xsl:variable name="pi-format">
<xsl:call-template name="pi-attribute"> <xsl:call-template name="pi-attribute">
@ -45,7 +138,6 @@
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<xsl:variable name="padding"> <xsl:variable name="padding">
<xsl:variable name="pi-padding"> <xsl:variable name="pi-padding">
<xsl:call-template name="pi-attribute"> <xsl:call-template name="pi-attribute">
@ -60,7 +152,6 @@
<xsl:otherwise>1</xsl:otherwise> <xsl:otherwise>1</xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<xsl:variable name="date"> <xsl:variable name="date">
<xsl:choose> <xsl:choose>
<xsl:when test="function-available('date:date-time')"> <xsl:when test="function-available('date:date-time')">
@ -72,10 +163,9 @@
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<xsl:choose> <xsl:choose>
<xsl:when test="function-available('date:date-time') or <xsl:when test="function-available('date:date-time') or
function-available('date:dateTime')"> function-available('date:dateTime')">
<xsl:call-template name="datetime.format"> <xsl:call-template name="datetime.format">
<xsl:with-param name="date" select="$date"/> <xsl:with-param name="date" select="$date"/>
<xsl:with-param name="format" select="$format"/> <xsl:with-param name="format" select="$format"/>
@ -88,124 +178,169 @@
</xsl:message> </xsl:message>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </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>
<xsl:template name="datetime.format"> <xsl:template name="datetime.format">
<xsl:param name="date"/> <xsl:param name="date"/>
<xsl:param name="format"/> <xsl:param name="format"/>
<xsl:param name="padding" select="1"/> <xsl:param name="padding" select="1"/>
<xsl:if test="$format != ''"> <xsl:if test="$format != ''">
<!-- replace any whitespace in the format string with a non-breaking space --> <!-- replace any whitespace in the format string with a non-breaking space -->
<xsl:variable name="format-nbsp" <xsl:variable name="format-nbsp"
select="translate($format, select="translate($format,
'&#x20;&#x9;&#xd;&#xa;', '&#x20;&#x9;&#xd;&#xa;',
'&#xa0;&#xa0;&#xa0;&#xa0;')"/> '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
<xsl:variable name="tokenized-format-string"> <xsl:variable name="tokenized-format-string">
<xsl:call-template name="str.tokenize.keep.delimiters"> <xsl:call-template name="str.tokenize.keep.delimiters">
<xsl:with-param name="string" select="$format-nbsp"/> <xsl:with-param name="string" select="$format-nbsp"/>
<xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/> <xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
</xsl:call-template> </xsl:call-template>
</xsl:variable> </xsl:variable>
<xsl:choose>
<xsl:choose> <!-- include extra test for Xalan quirk -->
<!-- include extra test for Xalan quirk --> <xsl:when test="function-available('exsl:node-set') or
<xsl:when test="function-available('exsl:node-set') or contains(system-property('xsl:vendor'),'Apache Software Foundation')">
contains(system-property('xsl:vendor'),'Apache Software Foundation')"> <!-- We must preserve context node in order to get valid language -->
<!-- We must preserve context node in order to get valid language --> <xsl:variable name="context" select="."/>
<xsl:variable name="context" select="."/> <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
<xsl:for-each select="exsl:node-set($tokenized-format-string)/node()"> <xsl:variable name="token">
<xsl:variable name="token"> <xsl:value-of select="."/>
<xsl:value-of select="."/> </xsl:variable>
</xsl:variable> <!-- Restore context node -->
<!-- Restore context node --> <xsl:for-each select="$context">
<xsl:for-each select="$context"> <xsl:choose>
<xsl:choose> <xsl:when test="$token = 'a'">
<xsl:when test="$token = 'a'"> <xsl:call-template name="gentext.template">
<xsl:call-template name="gentext.template"> <xsl:with-param name="context" select="'datetime-abbrev'"/>
<xsl:with-param name="context" select="'datetime-abbrev'"/> <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
<xsl:with-param name="name" select="date:day-abbreviation($date)"/> </xsl:call-template>
</xsl:call-template> </xsl:when>
</xsl:when> <xsl:when test="$token = 'A'">
<xsl:when test="$token = 'A'"> <xsl:call-template name="gentext.template">
<xsl:call-template name="gentext.template"> <xsl:with-param name="context" select="'datetime-full'"/>
<xsl:with-param name="context" select="'datetime-full'"/> <xsl:with-param name="name" select="date:day-name($date)"/>
<xsl:with-param name="name" select="date:day-name($date)"/> </xsl:call-template>
</xsl:call-template> </xsl:when>
</xsl:when> <xsl:when test="$token = 'b'">
<xsl:when test="$token = 'b'"> <xsl:call-template name="gentext.template">
<xsl:call-template name="gentext.template"> <xsl:with-param name="context" select="'datetime-abbrev'"/>
<xsl:with-param name="context" select="'datetime-abbrev'"/> <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
<xsl:with-param name="name" select="date:month-abbreviation($date)"/> </xsl:call-template>
</xsl:call-template> </xsl:when>
</xsl:when> <xsl:when test="$token = 'c'">
<xsl:when test="$token = 'c'"> <xsl:value-of select="date:date($date)"/>
<xsl:value-of select="date:date($date)"/> <xsl:text> </xsl:text>
<xsl:text> </xsl:text> <xsl:value-of select="date:time($date)"/>
<xsl:value-of select="date:time($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'B'">
<xsl:when test="$token = 'B'"> <xsl:call-template name="gentext.template">
<xsl:call-template name="gentext.template"> <xsl:with-param name="context" select="'datetime-full'"/>
<xsl:with-param name="context" select="'datetime-full'"/> <xsl:with-param name="name" select="date:month-name($date)"/>
<xsl:with-param name="name" select="date:month-name($date)"/> </xsl:call-template>
</xsl:call-template> </xsl:when>
</xsl:when> <xsl:when test="$token = 'd'">
<xsl:when test="$token = 'd'"> <xsl:if test="$padding = 1 and
<xsl:if test="$padding = 1 and string-length(date:day-in-month($date)) = 1">0</xsl:if>
string-length(date:day-in-month($date)) = 1">0</xsl:if> <xsl:value-of select="date:day-in-month($date)"/>
<xsl:value-of select="date:day-in-month($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'H'">
<xsl:when test="$token = 'H'"> <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
<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:value-of select="date:hour-in-day($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'j'">
<xsl:when test="$token = 'j'"> <xsl:value-of select="date:day-in-year($date)"/>
<xsl:value-of select="date:day-in-year($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'm'">
<xsl:when test="$token = 'm'"> <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
<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:value-of select="date:month-in-year($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'M'">
<xsl:when test="$token = 'M'"> <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
<xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if> <xsl:value-of select="date:minute-in-hour($date)"/>
<xsl:value-of select="date:minute-in-hour($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'S'">
<xsl:when test="$token = 'S'"> <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
<xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if> <xsl:value-of select="date:second-in-minute($date)"/>
<xsl:value-of select="date:second-in-minute($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'U'">
<xsl:when test="$token = 'U'"> <xsl:value-of select="date:week-in-year($date)"/>
<xsl:value-of select="date:week-in-year($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'w'">
<xsl:when test="$token = 'w'"> <xsl:value-of select="date:day-in-week($date)"/>
<xsl:value-of select="date:day-in-week($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'x'">
<xsl:when test="$token = 'x'"> <xsl:value-of select="date:date($date)"/>
<xsl:value-of select="date:date($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'X'">
<xsl:when test="$token = 'X'"> <xsl:value-of select="date:time($date)"/>
<xsl:value-of select="date:time($date)"/> </xsl:when>
</xsl:when> <xsl:when test="$token = 'Y'">
<xsl:when test="$token = 'Y'"> <xsl:value-of select="date:year($date)"/>
<xsl:value-of select="date:year($date)"/> </xsl:when>
</xsl:when> <xsl:otherwise>
<xsl:otherwise> <xsl:value-of select="$token"/>
<xsl:value-of select="$token"/> </xsl:otherwise>
</xsl:otherwise> </xsl:choose>
</xsl:choose> </xsl:for-each>
</xsl:for-each> </xsl:for-each>
</xsl:for-each> </xsl:when>
</xsl:when> <xsl:otherwise>
<xsl:otherwise> <xsl:message>
<xsl:message> Timestamp processing requires an XSLT processor with support
Timestamp processing requires an XSLT processor with support for the EXSLT node-set() function.
for the EXSLT node-set() function. </xsl:message>
</xsl:message> </xsl:otherwise>
</xsl:otherwise> </xsl:choose>
</xsl:choose>
</xsl:if> </xsl:if>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

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

View File

@ -124,17 +124,17 @@
<doc:template name="entry.colnum" xmlns=""> <doc:template name="entry.colnum" xmlns="">
<refpurpose>Determine the column number in which a given entry occurs</refpurpose> <refpurpose>Determine the column number in which a given entry occurs</refpurpose>
<refdescription id="entry.colnum-desc"> <refdescription id="entry.colnum-desc">
<para>If an <sgmltag>entry</sgmltag> has a <para>If an <tag>entry</tag> has a
<sgmltag class="attribute">colname</sgmltag> or <tag class="attribute">colname</tag> or
<sgmltag class="attribute">namest</sgmltag> attribute, this template <tag class="attribute">namest</tag> attribute, this template
will determine the number of the column in which the entry should occur. 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> </refdescription>
<refparameter id="entry.colnum-params"> <refparameter id="entry.colnum-params">
<variablelist> <variablelist>
<varlistentry><term>entry</term> <varlistentry><term>entry</term>
<listitem> <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> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>

View File

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

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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="摘要"/>
<l:gentext key="abstract" text="摘要"/> <l:gentext key="abstract" text="摘要"/>

View File

@ -19,6 +19,13 @@
<!-- copyright and other information. --> <!-- 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="摘要"/>
<l:gentext key="abstract" text="摘要"/> <l:gentext key="abstract" text="摘要"/>

View File

@ -713,31 +713,46 @@
</xsl:param> </xsl:param>
<xsl:param name="element" select="local-name(.)"/> <xsl:param name="element" select="local-name(.)"/>
<xsl:param name="gentext-key" 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}" <fo:page-sequence hyphenate="{$hyphenate}"
master-reference="{$master-reference}"> master-reference="{$master-reference}">
<xsl:attribute name="language"> <xsl:attribute name="language">
<xsl:call-template name="l10n.language"/> <xsl:value-of select="$language"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="format"> <xsl:attribute name="format">
<xsl:call-template name="page.number.format"> <xsl:value-of select="$format"/>
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="initial-page-number"> <xsl:attribute name="initial-page-number">
<xsl:call-template name="initial.page.number"> <xsl:value-of select="$initial-page-number"/>
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="force-page-count"> <xsl:attribute name="force-page-count">
<xsl:call-template name="force.page.count"> <xsl:value-of select="$force-page-count"/>
<xsl:with-param name="master-reference" select="$master-reference"/>
<xsl:with-param name="element" select="$element"/>
</xsl:call-template>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="hyphenation-character"> <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"?> <?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 --> <!-- 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=""> <doc:reference xmlns="" xml:id="table-templates">
<referenceinfo> <?dbhtml dir="fo"?>
<releaseinfo role="meta"> <info>
$Id$ <title>Formatting Object Table Reference</title>
</releaseinfo> <releaseinfo role="meta">
<author><surname>Walsh</surname> $Id$
<firstname>Norman</firstname></author> </releaseinfo>
<copyright><year>1999</year><year>2000</year> </info>
<holder>Norman Walsh</holder> <partintro xml:id="partintro">
</copyright> <title>Introduction</title>
</referenceinfo> <para>This is technical reference documentation for the FO
<title>Formatting Object Table Reference</title> table-processing templates in the DocBook XSL Stylesheets.</para>
<para>This is not intended to be user documentation. It is
<partintro id="partintro"> provided for developers writing customization layers for the
<title>Introduction</title> stylesheets.</para>
</partintro>
<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> </doc:reference>
<!-- ==================================================================== --> <!-- ==================================================================== -->

View File

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

View File

@ -718,6 +718,17 @@
<xsl:apply-templates select="." mode="callout-bug"/> <xsl:apply-templates select="." mode="callout-bug"/>
</xsl:template> </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:template match="book" mode="xref-to">
<xsl:param name="referrer"/> <xsl:param name="referrer"/>
<xsl:param name="xrefstyle"/> <xsl:param name="xrefstyle"/>

View File

@ -1,5 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="ASCII"?>
<!-- ******************************************************************** <!-- ********************************************************************
$Id$ $Id$
******************************************************************** ********************************************************************
@ -11,9 +10,7 @@
This module implements DTD-independent functions This module implements DTD-independent functions
******************************************************************** --> ******************************************************************** -->
<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: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:template name="dot.count"> <xsl:template name="dot.count">
<!-- Returns the number of "." characters in a string --> <!-- Returns the number of "." characters in a string -->
@ -312,63 +309,60 @@
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<xsl:template name="str.tokenize.keep.delimiters"> <xsl:template name="str.tokenize.keep.delimiters">
<xsl:param name="string" select="''"/> <xsl:param name="string" select="''"/>
<xsl:param name="delimiters" select="' '"/> <xsl:param name="delimiters" select="' '"/>
<xsl:choose> <xsl:choose>
<xsl:when test="not($string)"/> <xsl:when test="not($string)"/>
<xsl:when test="not($delimiters)"> <xsl:when test="not($delimiters)">
<xsl:call-template name="str.tokenize.keep.delimiters-characters"> <xsl:call-template name="str.tokenize.keep.delimiters-characters">
<xsl:with-param name="string" select="$string"/> <xsl:with-param name="string" select="$string"/>
</xsl:call-template> </xsl:call-template>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="$string"/> <xsl:with-param name="string" select="$string"/>
<xsl:with-param name="delimiters" select="$delimiters"/> <xsl:with-param name="delimiters" select="$delimiters"/>
</xsl:call-template> </xsl:call-template>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<xsl:template name="str.tokenize.keep.delimiters-characters"> <xsl:template name="str.tokenize.keep.delimiters-characters">
<xsl:param name="string"/> <xsl:param name="string"/>
<xsl:if test="$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: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:call-template>
</xsl:if> </xsl:if>
</xsl:template> </xsl:template>
<xsl:template name="str.tokenize.keep.delimiters-delimiters"> <xsl:template name="str.tokenize.keep.delimiters-delimiters">
<xsl:param name="string"/> <xsl:param name="string"/>
<xsl:param name="delimiters"/> <xsl:param name="delimiters"/>
<xsl:variable name="delimiter" select="substring($delimiters, 1, 1)"/> <xsl:variable name="delimiter" select="substring($delimiters, 1, 1)"/>
<xsl:choose> <xsl:choose>
<xsl:when test="not($delimiter)"> <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>
<xsl:when test="contains($string, $delimiter)"> <xsl:when test="contains($string, $delimiter)">
<xsl:if test="not(starts-with($string, $delimiter))"> <xsl:if test="not(starts-with($string, $delimiter))">
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="substring-before($string, $delimiter)"/> <xsl:with-param name="string" select="substring-before($string, $delimiter)"/>
<xsl:with-param name="delimiters" select="substring($delimiters, 2)"/> <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
</xsl:call-template> </xsl:call-template>
</xsl:if> </xsl:if>
<!-- output each delimiter --> <!-- output each delimiter -->
<xsl:value-of select="$delimiter"/> <xsl:value-of select="$delimiter"/>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="substring-after($string, $delimiter)"/> <xsl:with-param name="string" select="substring-after($string, $delimiter)"/>
<xsl:with-param name="delimiters" select="$delimiters"/> <xsl:with-param name="delimiters" select="$delimiters"/>
</xsl:call-template> </xsl:call-template>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:call-template name="str.tokenize.keep.delimiters-delimiters"> <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
<xsl:with-param name="string" select="$string"/> <xsl:with-param name="string" select="$string"/>
<xsl:with-param name="delimiters" select="substring($delimiters, 2)"/> <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
</xsl:call-template> </xsl:call-template>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>

View File

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

View File

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

View File

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

View File

@ -737,32 +737,98 @@
<xsl:template name="href.target"> <xsl:template name="href.target">
<xsl:param name="context" select="."/> <xsl:param name="context" select="."/>
<xsl:param name="object" 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:variable name="href.to.uri">
<xsl:call-template name="href.target.uri"> <xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$object"/> <xsl:with-param name="object" select="$object"/>
</xsl:call-template> </xsl:call-template>
</xsl:variable> </xsl:variable>
<xsl:variable name="href.from.uri"> <xsl:variable name="href.from.uri">
<xsl:call-template name="href.target.uri"> <xsl:call-template name="href.target.uri">
<xsl:with-param name="object" select="$context"/> <xsl:with-param name="object" select="$context"/>
</xsl:call-template> </xsl:call-template>
</xsl:variable> </xsl:variable>
<!-- * <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>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message> <!-- * <xsl:message>context: <xsl:value-of select="local-name($context)"/></xsl:message> -->
<xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></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:variable name="href.to">
<xsl:call-template name="trim.common.uri.paths"> <xsl:choose>
<xsl:with-param name="uriA" select="$href.to.uri"/> <!-- * 2007-07-19, MikeSmith: Added the following conditional to -->
<xsl:with-param name="uriB" select="$href.from.uri"/> <!-- * deal with a problem case for links in TOCs. It checks to see -->
<xsl:with-param name="return" select="'A'"/> <!-- * if the output dir that a TOC will get written to is -->
</xsl:call-template> <!-- * 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>
<xsl:variable name="href.from"> <xsl:variable name="href.from">
<xsl:call-template name="trim.common.uri.paths"> <xsl:call-template name="trim.common.uri.paths">
<xsl:with-param name="uriA" select="$href.to.uri"/> <xsl:with-param name="uriA" select="$href.to.uri"/>
@ -770,13 +836,11 @@
<xsl:with-param name="return" select="'B'"/> <xsl:with-param name="return" select="'B'"/>
</xsl:call-template> </xsl:call-template>
</xsl:variable> </xsl:variable>
<xsl:variable name="depth"> <xsl:variable name="depth">
<xsl:call-template name="count.uri.path.depth"> <xsl:call-template name="count.uri.path.depth">
<xsl:with-param name="filename" select="$href.from"/> <xsl:with-param name="filename" select="$href.from"/>
</xsl:call-template> </xsl:call-template>
</xsl:variable> </xsl:variable>
<xsl:variable name="href"> <xsl:variable name="href">
<xsl:call-template name="copy-string"> <xsl:call-template name="copy-string">
<xsl:with-param name="string" select="'../'"/> <xsl:with-param name="string" select="'../'"/>
@ -784,7 +848,6 @@
</xsl:call-template> </xsl:call-template>
<xsl:value-of select="$href.to"/> <xsl:value-of select="$href.to"/>
</xsl:variable> </xsl:variable>
<!-- <!--
<xsl:message> <xsl:message>
<xsl:text>In </xsl:text> <xsl:text>In </xsl:text>
@ -799,7 +862,6 @@
<xsl:value-of select="$href"/> <xsl:value-of select="$href"/>
</xsl:message> </xsl:message>
--> -->
<xsl:value-of select="$href"/> <xsl:value-of select="$href"/>
</xsl:template> </xsl:template>
@ -1444,4 +1506,40 @@
</xsl:call-template> </xsl:call-template>
</xsl: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> </xsl:stylesheet>

View File

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

View File

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

View File

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

View File

@ -103,7 +103,9 @@
<xsl:variable name="content"> <xsl:variable name="content">
<div class="{$class}"> <div class="{$class}">
<xsl:if test="$spacing.paras != 0"><p/></xsl:if> <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/> <xsl:apply-templates/>
<!-- HACK: This doesn't belong inside formal.object; it <!-- HACK: This doesn't belong inside formal.object; it

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
<!--This file was created automatically by html2xhtml--> <!--This file was created automatically by html2xhtml-->
<!--from the HTML stylesheets.--> <!--from the HTML stylesheets.-->
<!-- This file is generated from param.xweb --> <!-- 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$ $Id$
@ -65,7 +65,7 @@ div.annotation-close { position: absolute;
right: 2px; right: 2px;
} }
</xsl:param> </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.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.graphic.close" select="'http://docbook.sourceforge.net/release/images/annot-close.png'"/>
<xsl:param name="annotation.support" select="0"/> <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.bgcolor" select="'#F5DCB3'"/>
<xsl:param name="ebnf.table.border" select="1"/> <xsl:param name="ebnf.table.border" select="1"/>
<xsl:param name="ebnf.assignment"> <xsl:param name="ebnf.assignment">
<code>::=</code> <code xmlns="http://www.w3.org/1999/xhtml">::=</code>
</xsl:param> </xsl:param>
<xsl:param name="ebnf.statement.terminator"/> <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>
<xsl:variable name="dbhtml-filename"> <xsl:variable name="dbhtml-filename">
<xsl:call-template name="dbhtml-filename"/> <xsl:call-template name="pi.dbhtml_filename"/>
</xsl:variable> </xsl:variable>
<xsl:variable name="filename"> <xsl:variable name="filename">

View File

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

View File

@ -435,12 +435,15 @@
<xsl:attribute name="style">clear: both</xsl:attribute> <xsl:attribute name="style">clear: both</xsl:attribute>
</xsl:if> </xsl:if>
</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:call-template name="anchor">
<xsl:with-param name="node" select="$section"/> <xsl:with-param name="node" select="$section"/>
<xsl:with-param name="conditional" select="0"/> <xsl:with-param name="conditional" select="0"/>
</xsl:call-template> </xsl:call-template>
</xsl:if> </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:copy-of select="$title"/>
</xsl:element> </xsl:element>
</xsl:template> </xsl:template>

View File

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

View File

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

View File

@ -928,7 +928,9 @@
<h1> <h1>
<xsl:apply-templates select="." mode="class.attribute"/> <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:choose>
<xsl:when test="$show.revisionflag != 0 and @revisionflag"> <xsl:when test="$show.revisionflag != 0 and @revisionflag">
<span class="{@revisionflag}"> <span class="{@revisionflag}">

View File

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

View File

@ -726,7 +726,6 @@
<xsl:apply-templates select="." mode="callout-bug"/> <xsl:apply-templates select="." mode="callout-bug"/>
</xsl:template> </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:template match="area|areaset" mode="xref-to">
<xsl:param name="referrer"/> <xsl:param name="referrer"/>
<xsl:param name="xrefstyle"/> <xsl:param name="xrefstyle"/>
@ -737,7 +736,6 @@
</xsl:with-param> </xsl:with-param>
</xsl:call-template> </xsl:call-template>
</xsl:template> </xsl:template>
-->
<xsl:template match="book" mode="xref-to"> <xsl:template match="book" mode="xref-to">
<xsl:param name="referrer"/> <xsl:param name="referrer"/>