Browse Source

Updated docbook-xsl-snapshot to r7104

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/new-xsl@8226 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Manuel Canales Esparcia 18 years ago
parent
commit
d1405f17dc
43 changed files with 2255 additions and 977 deletions
  1. 2 2
      docbook-xsl-snapshot/VERSION
  2. 27 74
      docbook-xsl-snapshot/common/common.xsl
  3. 7 0
      docbook-xsl-snapshot/common/de.xml
  4. 7 0
      docbook-xsl-snapshot/common/en.xml
  5. 7 0
      docbook-xsl-snapshot/common/es.xml
  6. 7 0
      docbook-xsl-snapshot/common/fr.xml
  7. 7 0
      docbook-xsl-snapshot/common/it.xml
  8. 20 1
      docbook-xsl-snapshot/common/labels.xsl
  9. 256 121
      docbook-xsl-snapshot/common/pi.xsl
  10. 47 58
      docbook-xsl-snapshot/common/refentry.xsl
  11. 5 5
      docbook-xsl-snapshot/common/table.xsl
  12. 39 53
      docbook-xsl-snapshot/common/utility.xsl
  13. 7 0
      docbook-xsl-snapshot/common/zh_cn.xml
  14. 7 0
      docbook-xsl-snapshot/common/zh_tw.xml
  15. 28 13
      docbook-xsl-snapshot/fo/component.xsl
  16. 13 1
      docbook-xsl-snapshot/fo/lists.xsl
  17. 1 1
      docbook-xsl-snapshot/fo/param.xsl
  18. 508 375
      docbook-xsl-snapshot/fo/pi.xsl
  19. 16 25
      docbook-xsl-snapshot/fo/table.xsl
  20. 2 1
      docbook-xsl-snapshot/fo/verbatim.xsl
  21. 11 0
      docbook-xsl-snapshot/fo/xref.xsl
  22. 28 34
      docbook-xsl-snapshot/lib/lib.xsl
  23. 5 5
      docbook-xsl-snapshot/xhtml/admon.xsl
  24. 9 2
      docbook-xsl-snapshot/xhtml/autotoc.xsl
  25. 1 1
      docbook-xsl-snapshot/xhtml/chunk-code.xsl
  26. 116 18
      docbook-xsl-snapshot/xhtml/chunk-common.xsl
  27. 2 2
      docbook-xsl-snapshot/xhtml/chunktoc.xsl
  28. 8 6
      docbook-xsl-snapshot/xhtml/component.xsl
  29. 7 5
      docbook-xsl-snapshot/xhtml/division.xsl
  30. 3 1
      docbook-xsl-snapshot/xhtml/formal.xsl
  31. 4 6
      docbook-xsl-snapshot/xhtml/graphics.xsl
  32. 26 36
      docbook-xsl-snapshot/xhtml/lists.xsl
  33. 2 3
      docbook-xsl-snapshot/xhtml/math.xsl
  34. 3 3
      docbook-xsl-snapshot/xhtml/param.xsl
  35. 976 47
      docbook-xsl-snapshot/xhtml/pi.xsl
  36. 1 1
      docbook-xsl-snapshot/xhtml/profile-chunk-code.xsl
  37. 6 24
      docbook-xsl-snapshot/xhtml/qandaset.xsl
  38. 4 1
      docbook-xsl-snapshot/xhtml/sections.xsl
  39. 5 4
      docbook-xsl-snapshot/xhtml/synop.xsl
  40. 16 36
      docbook-xsl-snapshot/xhtml/table.xsl
  41. 3 1
      docbook-xsl-snapshot/xhtml/titlepage.xsl
  42. 6 9
      docbook-xsl-snapshot/xhtml/verbatim.xsl
  43. 0 2
      docbook-xsl-snapshot/xhtml/xref.xsl

+ 2 - 2
docbook-xsl-snapshot/VERSION

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

+ 27 - 74
docbook-xsl-snapshot/common/common.xsl

@@ -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="">
-<referenceinfo>
-<releaseinfo role="meta">
-$Id$
-</releaseinfo>
-<author><surname>Walsh</surname>
-<firstname>Norman</firstname></author>
-<copyright><year>1999-2007</year>
-<holder>Norman Walsh</holder>
-</copyright>
-</referenceinfo>
-<title>Common Template Reference</title>
-
-<partintro id="partintro">
-<title>Introduction</title>
-
-<para>This is technical reference documentation for the “common”
-templates in the DocBook XSL Stylesheets. The common templates are
-“common” because they are shared across output formats (that is,
-they’re not output-format-dependent).</para>
-
-<para>This documentation is not intended to be <quote>user</quote>
-documentation.  It is provided for developers writing
-customization layers for the stylesheets, and for anyone who's
-interested in <quote>how it works</quote>.</para>
-
-</partintro>
-
+<doc:reference xmlns="" xml:id="base">
+  <info>
+    <title>Common » Base Template Reference</title>
+    <releaseinfo role="meta">
+      $Id$
+    </releaseinfo>
+  </info>
+  <!-- * yes, partintro is a valid child of a reference... -->
+  <partintro xml:id="partintro">
+    <title>Introduction</title>
+    <para>This is technical reference documentation for the “base”
+      set of common templates in the DocBook XSL Stylesheets.</para>
+    <para>This is not intended to be user documentation. It is
+      provided for developers writing customization layers for the
+      stylesheets.</para>
+  </partintro>
 </doc:reference>
 </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="orderedlist-starting-number">
-  <xsl:param name="list" select="."/>
-
-  <!-- Need a neutral dbxxx -->
-  <xsl:variable name="pi-html-start">
-    <xsl:call-template name="pi-attribute">
-      <xsl:with-param name="pis"
-                      select="$list/processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'start'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="pi-fo-start">
-    <xsl:call-template name="pi-attribute">
-      <xsl:with-param name="pis"
-                      select="$list/processing-instruction('dbfo')"/>
-      <xsl:with-param name="attribute" select="'start'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
+<xsl:template name="output-orderedlist-starting-number">
+  <xsl:param name="list"/>
+  <xsl:param name="pi-start"/>
   <xsl:choose>
   <xsl: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:value-of select="$pi-html-start"/>
-        </xsl:when>
-        <xsl:when test="$pi-fo-start != ''">
-          <xsl:value-of select="$pi-fo-start"/>
+        <xsl:when test="$pi-start != ''">
+          <xsl:value-of select="$pi-start"/>
         </xsl:when>
         </xsl: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:with-param name="pis" select="processing-instruction('dbchoice')"/>
-      <xsl:with-param name="attribute">choice</xsl:with-param>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbchoice_choice"/>
   </xsl:variable>
   </xsl: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>

+ 7 - 0
docbook-xsl-snapshot/common/de.xml

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

+ 7 - 0
docbook-xsl-snapshot/common/en.xml

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

+ 7 - 0
docbook-xsl-snapshot/common/es.xml

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

+ 7 - 0
docbook-xsl-snapshot/common/fr.xml

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

+ 7 - 0
docbook-xsl-snapshot/common/it.xml

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

+ 20 - 1
docbook-xsl-snapshot/common/labels.xsl

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

+ 256 - 121
docbook-xsl-snapshot/common/pi.xsl

@@ -1,11 +1,13 @@
 <?xml version='1.0'?>
 <?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:date="http://exslt.org/dates-and-times"
-                xmlns:exsl="http://exslt.org/common"
-                exclude-result-prefixes="doc date exsl"
-                extension-element-prefixes="date exsl"
-                version='1.0'>
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+  xmlns:date="http://exslt.org/dates-and-times"
+  xmlns:exsl="http://exslt.org/common"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  exclude-result-prefixes="doc date exsl"
+  extension-element-prefixes="date exsl"
+  version='1.0'>
 
 
 <!-- ********************************************************************
 <!-- ********************************************************************
      $Id$
      $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 -->
-<xsl:template match="processing-instruction()" mode="titlepage.mode">
-  <xsl:apply-templates select="."/>
+<doc:reference xmlns=""><info><title>Common Processing Instruction Reference</title>
+    <releaseinfo role="meta">
+      $Id$
+    </releaseinfo>
+  </info>
+  <partintro id="partintro">
+    <title>Introduction</title>
+    <para>This is generated reference documentation for all
+      user-specifiable processing instructions (PIs) in the
+      “common” part of the DocBook XSL stylesheets.
+      <note>
+        <para>You add these PIs at particular points in a document to
+          cause specific “exceptions” to formatting/output behavior. To
+          make global changes in formatting/output behavior across an
+          entire document, it’s 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">
@@ -44,8 +137,7 @@
         </xsl:call-template>
         </xsl:call-template>
       </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,
-			  '&#x20;&#x9;&#xd;&#xa;',
-			  '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
+      select="translate($format,
+      '&#x20;&#x9;&#xd;&#xa;',
+      '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
     <xsl:variable name="tokenized-format-string">
     <xsl: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="delimiters" select="'&#xa0;,./-()[]:'"/>
+        <xsl:with-param name="string" select="$format-nbsp"/>
+        <xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
       </xsl:call-template>
       </xsl:call-template>
     </xsl:variable>
     </xsl:variable>
-
-  <xsl:choose>
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="function-available('exsl:node-set') or 
-		    contains(system-property('xsl:vendor'),'Apache Software Foundation')">
-      <!-- We must preserve context node in order to get valid language -->
-      <xsl:variable name="context" select="."/>
-      <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
-        <xsl:variable name="token">
-          <xsl:value-of select="."/>
-        </xsl:variable>
-        <!-- Restore context node -->
-        <xsl:for-each select="$context">
-          <xsl:choose>
-            <xsl:when test="$token = 'a'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-abbrev'"/>
-                <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'A'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-full'"/>
-                <xsl:with-param name="name" select="date:day-name($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'b'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-abbrev'"/>
-                <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'c'">
-              <xsl:value-of select="date:date($date)"/>
-              <xsl:text> </xsl:text>
-              <xsl:value-of select="date:time($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'B'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-full'"/>
-                <xsl:with-param name="name" select="date:month-name($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'd'">
-              <xsl:if test="$padding = 1 and
-              string-length(date:day-in-month($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:day-in-month($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'H'">
-              <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:hour-in-day($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'j'">
-              <xsl:value-of select="date:day-in-year($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'm'">
-              <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:month-in-year($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'M'">
-              <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:minute-in-hour($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'S'">
-              <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:second-in-minute($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'U'">
-              <xsl:value-of select="date:week-in-year($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'w'">
-              <xsl:value-of select="date:day-in-week($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'x'">
-              <xsl:value-of select="date:date($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'X'">
-              <xsl:value-of select="date:time($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'Y'">
-              <xsl:value-of select="date:year($date)"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="$token"/>
-            </xsl:otherwise>
-          </xsl:choose>
+    <xsl:choose>
+      <!-- include extra test for Xalan quirk -->
+      <xsl:when test="function-available('exsl:node-set') or 
+        contains(system-property('xsl:vendor'),'Apache Software Foundation')">
+        <!-- We must preserve context node in order to get valid language -->
+        <xsl:variable name="context" select="."/>
+        <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
+          <xsl:variable name="token">
+            <xsl:value-of select="."/>
+          </xsl:variable>
+          <!-- Restore context node -->
+          <xsl:for-each select="$context">
+            <xsl:choose>
+              <xsl:when test="$token = 'a'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-abbrev'"/>
+                  <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'A'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-full'"/>
+                  <xsl:with-param name="name" select="date:day-name($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'b'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-abbrev'"/>
+                  <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'c'">
+                <xsl:value-of select="date:date($date)"/>
+                <xsl:text> </xsl:text>
+                <xsl:value-of select="date:time($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'B'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-full'"/>
+                  <xsl:with-param name="name" select="date:month-name($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'd'">
+                <xsl:if test="$padding = 1 and
+                  string-length(date:day-in-month($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:day-in-month($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'H'">
+                <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:hour-in-day($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'j'">
+                <xsl:value-of select="date:day-in-year($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'm'">
+                <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:month-in-year($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'M'">
+                <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:minute-in-hour($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'S'">
+                <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:second-in-minute($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'U'">
+                <xsl:value-of select="date:week-in-year($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'w'">
+                <xsl:value-of select="date:day-in-week($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'x'">
+                <xsl:value-of select="date:date($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'X'">
+                <xsl:value-of select="date:time($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'Y'">
+                <xsl:value-of select="date:year($date)"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:value-of select="$token"/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:for-each>
         </xsl:for-each>
         </xsl:for-each>
-      </xsl:for-each>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        Timestamp processing requires an XSLT processor with support
-        for the EXSLT node-set() function.
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message>
+          Timestamp processing requires an XSLT processor with support
+          for the EXSLT node-set() function.
+        </xsl:message>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:if>
   </xsl:if>
-
 </xsl:template>
 </xsl:template>
 
 
 </xsl:stylesheet>
 </xsl:stylesheet>

+ 47 - 58
docbook-xsl-snapshot/common/refentry.xsl

@@ -16,36 +16,25 @@
      ******************************************************************** -->
      ******************************************************************** -->
 
 
 <!-- ==================================================================== -->
 <!-- ==================================================================== -->
-<doc:reference xmlns="">
-  <referenceinfo>
+<doc:reference xmlns="" xml:id="refentry">
+  <info>
+    <title>Common » Refentry Metadata Template Reference</title>
     <releaseinfo role="meta">
     <releaseinfo role="meta">
       $Id$
       $Id$
     </releaseinfo>
     </releaseinfo>
-    <corpauthor>The DocBook Project</corpauthor>
-    <copyright>
-      <year>2005-2007</year>
-      <holder>The DocBook Project</holder>
-    </copyright>
-  </referenceinfo>
-  <title>Refentry Metadata-Gathering Template Reference</title>
-
-  <partintro id="partintro">
+  </info>
+  <!-- * yes, partintro is a valid child of a reference... -->
+  <partintro xml:id="partintro">
     <title>Introduction</title>
     <title>Introduction</title>
-
-    <para>This is technical reference documentation for the "refentry
-    metadata gathering" templates in the DocBook XSL Stylesheets.</para>
-
+    <para>This is technical reference documentation for the “refentry
+    metadata” templates in the DocBook XSL Stylesheets.</para>
     <para>This is not intended to be user documentation. It is provided
     <para>This is not intended to be user documentation. It is provided
-    for developers writing customization layers for the
-    stylesheets.</para>
-
+    for developers writing customization layers for the stylesheets.</para>
     <note>
     <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
-    parent or ancestor element to the the <sgmltag>refentry</sgmltag>. And
+    <tag>refentry</tag> itself, but instead part of the content of a
+    parent or ancestor element to the the <tag>refentry</tag>. And
     even then, DocBook provides a variety of elements that users might
     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
-    <sgmltag>refentry</sgmltag> itself, or on its nearest ancestor.</para>
+    closest to the actual <tag>refentry</tag>&#160;– either on the
+    <tag>refentry</tag> itself, or on its nearest ancestor.</para>
 
 
     <note>
     <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
-    <sgmltag>refentrytitle</sgmltag>, we use that as the <sgmltag>title</sgmltag>;
-    otherwise, we just use first <sgmltag>refname</sgmltag> in the first
-    <sgmltag>refnamediv</sgmltag> in the source.</para>
+    from <tag>refname</tag> in that, if the <tag>refentry</tag> has a
+    <tag>refentrytitle</tag>, we use that as the <tag>title</tag>;
+    otherwise, we just use first <tag>refname</tag> in the first
+    <tag>refnamediv</tag> in the source.</para>
   </refdescription>
   </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>
-    specified in the source, and we find that the <sgmltag>refentry</sgmltag> is
+    <literal>7</literal>)". If we do not find a <tag>manvolnum</tag>
+    specified in the source, and we find that the <tag>refentry</tag> is
     for a function, we use the section number <literal>3</literal>
     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>

+ 5 - 5
docbook-xsl-snapshot/common/table.xsl

@@ -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
-<sgmltag class="attribute">colname</sgmltag> or
-<sgmltag class="attribute">namest</sgmltag> attribute, this template
+<para>If an <tag>entry</tag> has a
+<tag class="attribute">colname</tag> or
+<tag class="attribute">namest</tag> attribute, this template
 will determine the number of the column in which the entry should occur.
 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>

+ 39 - 53
docbook-xsl-snapshot/common/utility.xsl

@@ -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="">
-<referenceinfo>
-<releaseinfo role="meta">
-$Id$
-</releaseinfo>
-<corpauthor>The DocBook Project Development Team</corpauthor>
-<copyright><year>2007</year>
-<holder>The DocBook Project</holder>
-</copyright>
-</referenceinfo>
-<title>Utility Template Reference</title>
-
-<partintro id="partintro">
-<title>Introduction</title>
-
-<para>This is technical reference documentation for the
-  miscellaneous utility templates in the DocBook XSL
-  Stylesheets.</para>
-
-<note>
-<para>These templates are defined in a separate file from the set
-  of “common” templates because some of the comment templates
-  reference DocBook XSL stylesheet parameters, requiring the
-  entire set of parameters to be imported/included in any
-  stylesheet that imports/includes the common templates.</para>
-<para>The utility templates don’t import or include any DocBook
-  XSL stylesheet parameters, so the utility templates can be used
-  without importing the whole set of parameters.</para>
-</note>
-
-<para>The following documentation is not intended to be
-  <quote>user</quote> documentation.  It is provided for developers
-  writing customization layers for the stylesheets, and for anyone
-  who's interested in <quote>how it works</quote>.</para>
-</partintro>
+<doc:reference xmlns="" xml:id="utility">
+  <info>
+    <title>Common » Utility Template Reference</title>
+    <releaseinfo role="meta">
+      $Id$
+    </releaseinfo>
+  </info>
+  <!-- * yes, partintro is a valid child of a reference... -->
+  <partintro xml:id="partintro">
+    <title>Introduction</title>
+    <para>This is technical reference documentation for the
+      miscellaneous utility templates in the DocBook XSL
+      Stylesheets.</para>
+    <note>
+      <para>These templates are defined in a separate file from the set
+        of “common” templates because some of the comment templates
+        reference DocBook XSL stylesheet parameters, requiring the
+        entire set of parameters to be imported/included in any
+        stylesheet that imports/includes the common templates.</para>
+      <para>The utility templates don’t import or include any DocBook
+        XSL stylesheet parameters, so the utility templates can be used
+        without importing the whole set of parameters.</para>
+    </note>
+    <para>This is not intended to be user documentation. It is
+      provided for developers writing customization layers for the
+      stylesheets.</para>
+  </partintro>
 </doc:reference>
 </doc:reference>
 
 
 <!-- ====================================================================== -->
 <!-- ====================================================================== -->
@@ -67,8 +59,7 @@ $Id$
 
 
   <refparameter id="log.message-params">
   <refparameter id="log.message-params">
     <variablelist>
     <variablelist>
-      <varlistentry>
-        <term>level</term>
+      <varlistentry><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>
-        <term>source</term>
+      <varlistentry><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>
-        <term>context-desc</term>
+      <varlistentry><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>
-        <term>context-desc-field-length</term>
+      <varlistentry><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>
-        <term>message</term>
+      <varlistentry><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>
-        <term>message-field-length</term>
+      <varlistentry><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
-          url="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
-          Content</ulink> section of Dave Pawson's <ulink
-          url="http://www.dpawson.co.uk/xsl/index.html" >XSLT
-          FAQ</ulink>.</para>
+        <function>prepend-pad</function> function in the <link
+          xlink:href="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
+          Content</link> section of Dave Pawson's <link
+          xlink:href="http://www.dpawson.co.uk/xsl/index.html" >XSLT
+          FAQ</link>.</para>
     </note>
     </note>
   </refdescription>
   </refdescription>
   <refreturn id="pad-string-returns">
   <refreturn id="pad-string-returns">

+ 7 - 0
docbook-xsl-snapshot/common/zh_cn.xml

@@ -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="摘要"/>

+ 7 - 0
docbook-xsl-snapshot/common/zh_tw.xml

@@ -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="摘要"/>

+ 28 - 13
docbook-xsl-snapshot/fo/component.xsl

@@ -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:with-param name="master-reference" select="$master-reference"/>
-        <xsl:with-param name="element" select="$element"/>
-      </xsl:call-template>
+      <xsl:value-of select="$format"/>
     </xsl:attribute>
     </xsl:attribute>
 
 
     <xsl:attribute name="initial-page-number">
     <xsl:attribute name="initial-page-number">
-      <xsl:call-template name="initial.page.number">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-        <xsl:with-param name="element" select="$element"/>
-      </xsl:call-template>
+      <xsl:value-of select="$initial-page-number"/>
     </xsl:attribute>
     </xsl:attribute>
 
 
     <xsl:attribute name="force-page-count">
     <xsl:attribute name="force-page-count">
-      <xsl:call-template name="force.page.count">
-        <xsl:with-param name="master-reference" select="$master-reference"/>
-        <xsl:with-param name="element" select="$element"/>
-      </xsl:call-template>
+      <xsl:value-of select="$force-page-count"/>
     </xsl:attribute>
     </xsl:attribute>
 
 
     <xsl:attribute name="hyphenation-character">
     <xsl:attribute name="hyphenation-character">

+ 13 - 1
docbook-xsl-snapshot/fo/lists.xsl

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

+ 1 - 1
docbook-xsl-snapshot/fo/param.xsl

@@ -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
+ 508 - 375
docbook-xsl-snapshot/fo/pi.xsl


+ 16 - 25
docbook-xsl-snapshot/fo/table.xsl

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

+ 2 - 1
docbook-xsl-snapshot/fo/verbatim.xsl

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

+ 11 - 0
docbook-xsl-snapshot/fo/xref.xsl

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

+ 28 - 34
docbook-xsl-snapshot/lib/lib.xsl

@@ -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:dyn="http://exslt.org/dynamic" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" exclude-result-prefixes="src" version="1.0">
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://icl.com/saxon" xmlns:ssb="http://sideshowbarker.net/ns" xmlns:dyn="http://exslt.org/dynamic" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:src="http://nwalsh.com/xmlns/litprog/fragment" xmlns="http://docbook.org/ns/docbook" exclude-result-prefixes="src" version="1.0">
 
 
 <xsl:template name="dot.count">
 <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:with-param name="string" select="$string"/>
-	</xsl:call-template>
+        <xsl:call-template name="str.tokenize.keep.delimiters-characters">
+          <xsl:with-param name="string" select="$string"/>
+        </xsl:call-template>
       </xsl:when>
       </xsl:when>
       <xsl:otherwise>
       <xsl:otherwise>
-	<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-	  <xsl:with-param name="string" select="$string"/>
-	  <xsl:with-param name="delimiters" select="$delimiters"/>
-	</xsl:call-template>
+        <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
+          <xsl:with-param name="string" select="$string"/>
+          <xsl:with-param name="delimiters" select="$delimiters"/>
+        </xsl:call-template>
       </xsl:otherwise>
       </xsl: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:call-template name="str.tokenize.keep.delimiters-delimiters">
-	    <xsl:with-param name="string" select="substring-before($string, $delimiter)"/>
-	    <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
-	  </xsl:call-template>
-	</xsl:if>
-	<!-- output each delimiter -->
-	<xsl:value-of select="$delimiter"/>
-	<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-	  <xsl:with-param name="string" select="substring-after($string, $delimiter)"/>
-	  <xsl:with-param name="delimiters" select="$delimiters"/>
-	</xsl:call-template>
+        <xsl:if test="not(starts-with($string, $delimiter))">
+          <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
+            <xsl:with-param name="string" select="substring-before($string, $delimiter)"/>
+            <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
+          </xsl:call-template>
+        </xsl:if>
+        <!-- output each delimiter -->
+        <xsl:value-of select="$delimiter"/>
+        <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
+          <xsl:with-param name="string" select="substring-after($string, $delimiter)"/>
+          <xsl:with-param name="delimiters" select="$delimiters"/>
+        </xsl:call-template>
       </xsl:when>
       </xsl:when>
       <xsl:otherwise>
       <xsl:otherwise>
-	<xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
-	  <xsl:with-param name="string" select="$string"/>
-	  <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
-	</xsl:call-template>
+        <xsl:call-template name="str.tokenize.keep.delimiters-delimiters">
+          <xsl:with-param name="string" select="$string"/>
+          <xsl:with-param name="delimiters" select="substring($delimiters, 2)"/>
+        </xsl:call-template>
       </xsl:otherwise>
       </xsl:otherwise>
     </xsl:choose>
     </xsl:choose>
   </xsl:template>
   </xsl:template>

+ 5 - 5
docbook-xsl-snapshot/xhtml/admon.xsl

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

+ 9 - 2
docbook-xsl-snapshot/xhtml/autotoc.xsl

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

+ 1 - 1
docbook-xsl-snapshot/xhtml/chunk-code.xsl

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

+ 116 - 18
docbook-xsl-snapshot/xhtml/chunk-common.xsl

@@ -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>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message>
-  <xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></xsl:message>
-  -->
-
+  <!-- * <xsl:message>toc-context: <xsl:value-of select="local-name($toc-context)"/></xsl:message> -->
+  <!-- * <xsl:message>node: <xsl:value-of select="local-name(.)"/></xsl:message> -->
+  <!-- * <xsl:message>context: <xsl:value-of select="local-name($context)"/></xsl:message> -->
+  <!-- * <xsl:message>object: <xsl:value-of select="local-name($object)"/></xsl:message> -->
+  <!-- * <xsl:message>toc-output-dir: <xsl:value-of select="$toc-output-dir"/></xsl:message> -->
+  <!-- * <xsl:message>linked-file-output-dir: <xsl:value-of select="$linked-file-output-dir"/></xsl:message> -->
+  <!-- * <xsl:message>href.to.uri: <xsl:value-of select="$href.to.uri"/></xsl:message> -->
+  <!-- * <xsl:message>href.from.uri: <xsl:value-of select="$href.from.uri"/></xsl:message> -->
   <xsl:variable name="href.to">
   <xsl:variable name="href.to">
-    <xsl:call-template name="trim.common.uri.paths">
-      <xsl:with-param name="uriA" select="$href.to.uri"/>
-      <xsl:with-param name="uriB" select="$href.from.uri"/>
-      <xsl:with-param name="return" select="'A'"/>
-    </xsl:call-template>
+    <xsl:choose>
+      <!-- * 2007-07-19, MikeSmith: Added the following conditional to -->
+      <!-- * deal with a problem case for links in TOCs. It checks to see -->
+      <!-- * if the output dir that a TOC will get written to is -->
+      <!-- * different from the output dir of the file being linked to. -->
+      <!-- * If it is different, we do not call trim.common.uri.paths. -->
+      <!-- *  -->
+      <!-- * Reason why I added that conditional is: I ran into a bug for -->
+      <!-- * this case: -->
+      <!-- *  -->
+      <!-- * 1. we are chunking into separate dirs -->
+      <!-- *  -->
+      <!-- * 2. output for the TOC is written to current dir, but the file -->
+      <!-- *    being linked to is written to some subdir "foo". -->
+      <!-- *  -->
+      <!-- * For that case, links to that file in that TOC did not show -->
+      <!-- * the correct path - they omitted the "foo". -->
+      <!-- *  -->
+      <!-- * The cause of that problem was that the trim.common.uri.paths -->
+      <!-- * template[1] was being called under all conditions. But it's -->
+      <!-- * apparent that we don't want to call trim.common.uri.paths in -->
+      <!-- * the case where a linked file is being written to a different -->
+      <!-- * directory than the TOC that contains the link, because doing -->
+      <!-- * so will cause a necessary (not redundant) directory-name -->
+      <!-- * part of the link to get inadvertently trimmed, resulting in -->
+      <!-- * a broken link to that file. Thus, added the conditional. -->
+      <!-- *  -->
+      <!-- * [1] The purpose of the trim.common.uri.paths template is to -->
+      <!-- * prevent cases where, if we didn't call it, we end up with -->
+      <!-- * unnecessary, redundant directory names getting output; for -->
+      <!-- * example, "foo/foo/refname.html". -->
+      <xsl:when test="not($toc-output-dir = $linked-file-output-dir)">
+        <xsl:value-of select="$href.to.uri"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="trim.common.uri.paths">
+          <xsl:with-param name="uriA" select="$href.to.uri"/>
+          <xsl:with-param name="uriB" select="$href.from.uri"/>
+          <xsl:with-param name="return" select="'A'"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:variable>
   </xsl:variable>
-
   <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>

+ 2 - 2
docbook-xsl-snapshot/xhtml/chunktoc.xsl

@@ -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:with-param name="pis" select="$chunk/processing-instruction('dbhtml')"/>
+    <xsl:call-template name="pi.dbhtml_filename">
+      <xsl:with-param name="node" select="$chunk"/>
     </xsl:call-template>
     </xsl:call-template>
   </xsl:variable>
   </xsl:variable>
 
 

+ 8 - 6
docbook-xsl-snapshot/xhtml/component.xsl

@@ -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:with-param name="node" select="$node"/>
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <xsl:apply-templates select="$node" mode="object.title.markup">
+    <xsl:if test="$generate.id.attributes = 0">
+      <xsl:call-template name="anchor">
+	<xsl:with-param name="node" select="$node"/>
+	<xsl:with-param name="conditional" select="0"/>
+      </xsl:call-template>
+    </xsl:if>
+      <xsl:apply-templates select="$node" mode="object.title.markup">
       <xsl:with-param name="allow-anchors" select="1"/>
       <xsl: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>

+ 7 - 5
docbook-xsl-snapshot/xhtml/division.xsl

@@ -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:with-param name="node" select="$node"/>
-      <xsl:with-param name="conditional" select="0"/>
-    </xsl:call-template>
-    <xsl:apply-templates select="$node" mode="object.title.markup">
+    <xsl:if test="$generate.id.attributes = 0">
+      <xsl:call-template name="anchor">
+	<xsl:with-param name="node" select="$node"/>
+	<xsl:with-param name="conditional" select="0"/>
+      </xsl:call-template>
+    </xsl:if>
+      <xsl:apply-templates select="$node" mode="object.title.markup">
       <xsl:with-param name="allow-anchors" select="1"/>
       <xsl:with-param name="allow-anchors" select="1"/>
     </xsl:apply-templates>
     </xsl:apply-templates>
   </h1>
   </h1>

+ 3 - 1
docbook-xsl-snapshot/xhtml/formal.xsl

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

+ 4 - 6
docbook-xsl-snapshot/xhtml/graphics.xsl

@@ -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:with-param name="pis" select="../processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'img.src.path'"/>
+    <xsl:call-template name="pi.dbhtml_img.src.path">
+      <xsl:with-param name="node" select=".."/>
     </xsl:call-template>
     </xsl: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:with-param name="pis" select="../processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'background-color'"/>
+    <xsl:call-template name="pi.dbhtml_background-color">
+      <xsl:with-param name="node" select=".."/>
     </xsl:call-template>
     </xsl:call-template>
   </xsl:variable>
   </xsl:variable>
 
 

+ 26 - 36
docbook-xsl-snapshot/xhtml/lists.xsl

@@ -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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'list-presentation'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_list-presentation"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'list-width'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_list-width"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="term-width">
   <xsl:variable name="term-width">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'term-width'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_term-width"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="table-summary">
   <xsl:variable name="table-summary">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'table-summary'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_table-summary"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <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:with-param name="pis" select="../processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'term-presentation'"/>
+    <xsl:call-template name="pi.dbhtml_term-presentation">
+      <xsl:with-param name="node" select=".."/>
     </xsl:call-template>
     </xsl:call-template>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="separator">
   <xsl:variable name="separator">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="../processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'term-separator'"/>
+    <xsl:call-template name="pi.dbhtml_term-separator">
+      <xsl:with-param name="node" select=".."/>
     </xsl:call-template>
     </xsl: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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'list-presentation'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_list-presentation"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'table-summary'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_table-summary"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="list-width">
   <xsl:variable name="list-width">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'list-width'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_list-width"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <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>

+ 2 - 3
docbook-xsl-snapshot/xhtml/math.xsl

@@ -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:with-param name="pis" select=".//processing-instruction('dbtex')"/>
-      <xsl:with-param name="attribute" select="'delims'"/>
+    <xsl:call-template name="pi.dbtex_delims">
+      <xsl:with-param name="node" select="descendant-or-self::*"/>
     </xsl:call-template>
     </xsl:call-template>
   </xsl:variable>
   </xsl:variable>
   <xsl:variable name="result">
   <xsl:variable name="result">

+ 3 - 3
docbook-xsl-snapshot/xhtml/param.xsl

@@ -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
+ 976 - 47
docbook-xsl-snapshot/xhtml/pi.xsl


+ 1 - 1
docbook-xsl-snapshot/xhtml/profile-chunk-code.xsl

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

+ 6 - 24
docbook-xsl-snapshot/xhtml/qandaset.xsl

@@ -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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'toc'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_toc"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'toc'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_toc"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'label-width'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_label-width"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="table-summary">
   <xsl:variable name="table-summary">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'table-summary'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_table-summary"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="cellpadding">
   <xsl:variable name="cellpadding">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'cellpadding'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_cellpadding"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="cellspacing">
   <xsl:variable name="cellspacing">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'cellspacing'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_cellspacing"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <table border="0" summary="Q and A Set">
   <table border="0" summary="Q and A Set">

+ 4 - 1
docbook-xsl-snapshot/xhtml/sections.xsl

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

+ 5 - 4
docbook-xsl-snapshot/xhtml/synop.xsl

@@ -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:with-param name="pis" select="ancestor::funcsynopsis//processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'funcsynopsis-style'"/>
+    <xsl:call-template name="pi.dbhtml_funcsynopsis-style">
+      <xsl:with-param name="node" select="ancestor::funcsynopsis/descendant-or-self::*"/>
     </xsl:call-template>
     </xsl:call-template>
   </xsl:variable>
   </xsl:variable>
 
 

+ 16 - 36
docbook-xsl-snapshot/xhtml/table.xsl

@@ -135,24 +135,15 @@
   </xsl:if>
   </xsl:if>
 
 
   <xsl:variable name="summary">
   <xsl:variable name="summary">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'table-summary'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_table-summary"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="cellspacing">
   <xsl:variable name="cellspacing">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'cellspacing'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_cellspacing"/>
   </xsl:variable>
   </xsl:variable>
 
 
   <xsl:variable name="cellpadding">
   <xsl:variable name="cellpadding">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbhtml')[1]"/>
-      <xsl:with-param name="attribute" select="'cellpadding'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_cellpadding"/>
   </xsl:variable>
   </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:with-param name="pis" select="../processing-instruction('dbhtml')[1]"/>
-        <xsl:with-param name="attribute" select="'table-width'"/>
+      <xsl:call-template name="pi.dbhtml_table-width">
+        <xsl:with-param name="node" select=".."/>
       </xsl:call-template>
       </xsl: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:with-param name="pis" select="."/>
-      <xsl:with-param name="attribute" select="'table-summary'"/>
-    </xsl:call-template>
+    <xsl:call-template name="pi.dbhtml_table-summary"/>
   </xsl:variable>
   </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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-        <xsl:with-param name="attribute" select="'row-height'"/>
-      </xsl:call-template>
+      <xsl:call-template name="pi.dbhtml_row-height"/>
     </xsl:if>
     </xsl: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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-	<xsl:with-param name="attribute" select="'bgcolor'"/>
-      </xsl:call-template>
+      <xsl:call-template name="pi.dbhtml_bgcolor"/>
     </xsl:if>
     </xsl: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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-	<xsl:with-param name="attribute" select="'class'"/>
-      </xsl:call-template>
+      <xsl:call-template name="pi.dbhtml_class"/>
     </xsl:if>
     </xsl: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:with-param name="pis" select="processing-instruction('dbhtml')"/>
-            <xsl:with-param name="attribute" select="'bgcolor'"/>
-          </xsl:call-template>
+          <xsl:call-template name="pi.dbhtml_bgcolor"/>
         </xsl:if>
         </xsl:if>
       </xsl:variable>
       </xsl:variable>
 
 

+ 3 - 1
docbook-xsl-snapshot/xhtml/titlepage.xsl

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

+ 6 - 9
docbook-xsl-snapshot/xhtml/verbatim.xsl

@@ -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:with-param name="pis" select="$pi.context/processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
+    <xsl:call-template name="pi.dbhtml_linenumbering.everyNth">
+      <xsl:with-param name="node" select="$pi.context"/>
     </xsl:call-template>
     </xsl: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:with-param name="pis" select="$pi.context/processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
+    <xsl:call-template name="pi.dbhtml_linenumbering.separator">
+      <xsl:with-param name="node" select="$pi.context"/>
     </xsl:call-template>
     </xsl: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:with-param name="pis" select="$pi.context/processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'linenumbering.width'"/>
+    <xsl:call-template name="pi.dbhtml_linenumbering.width">
+      <xsl:with-param name="node" select="$pi.context"/>
     </xsl:call-template>
     </xsl:call-template>
   </xsl:variable>
   </xsl:variable>
 
 

+ 0 - 2
docbook-xsl-snapshot/xhtml/xref.xsl

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

Some files were not shown because too many files changed in this diff