Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/common.xsl
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/common.xsl	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/common.xsl	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -15,36 +15,22 @@
      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>
 
@@ -184,5 +170,5 @@
 <refdescription id="section.level-desc">
 <para>This template calculates the hierarchical level of a section.
-The element <sgmltag>sect1</sgmltag> is at level 1, <sgmltag>sect2</sgmltag> is
+The element <tag>sect1</tag> is at level 1, <tag>sect2</tag> is
 at level 2, etc.</para>
 
@@ -1325,25 +1311,7 @@
 <!-- ====================================================================== -->
 <!-- OrderedList Numeration -->
-
-<xsl:template name="orderedlist-starting-number">
-  <xsl:param name="list" select="."/>
-
-  <!-- Need a neutral dbxxx -->
-  <xsl:variable name="pi-html-start">
-    <xsl:call-template name="pi-attribute">
-      <xsl:with-param name="pis"
-                      select="$list/processing-instruction('dbhtml')"/>
-      <xsl:with-param name="attribute" select="'start'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="pi-fo-start">
-    <xsl:call-template name="pi-attribute">
-      <xsl:with-param name="pis"
-                      select="$list/processing-instruction('dbfo')"/>
-      <xsl:with-param name="attribute" select="'start'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
+<xsl:template name="output-orderedlist-starting-number">
+  <xsl:param name="list"/>
+  <xsl:param name="pi-start"/>
   <xsl:choose>
     <xsl:when test="not($list/@continuation = 'continues')">
@@ -1352,9 +1320,6 @@
           <xsl:value-of select="@startingnumber"/>
         </xsl:when>
-        <xsl:when test="$pi-html-start != ''">
-          <xsl:value-of select="$pi-html-start"/>
-        </xsl:when>
-        <xsl:when test="$pi-fo-start != ''">
-          <xsl:value-of select="$pi-fo-start"/>
+        <xsl:when test="$pi-start != ''">
+          <xsl:value-of select="$pi-start"/>
         </xsl:when>
         <xsl:otherwise>1</xsl:otherwise>
@@ -1363,5 +1328,5 @@
     <xsl:otherwise>
       <xsl:variable name="prevlist"
-                    select="$list/preceding::orderedlist[1]"/>
+        select="$list/preceding::orderedlist[1]"/>
       <xsl:choose>
         <xsl:when test="count($prevlist) = 0">2</xsl:when>
@@ -1383,5 +1348,4 @@
   <!-- context node must be a listitem in an orderedlist -->
   <xsl:param name="node" select="."/>
-
   <xsl:choose>
     <xsl:when test="$node/@override">
@@ -1904,11 +1868,9 @@
     the final item in an inline list (though it could also be useful
     for generating choice separators for non-inline lists).</para>
-
     <para>It currently works by evaluating a processing instruction
     (PI) of the form &lt;?dbchoice&#xa0;choice="foo"?> :
-
     <itemizedlist>
       <listitem>
-        <simpara>if the value of the <sgmltag>choice</sgmltag>
+        <simpara>if the value of the <tag>choice</tag>
         pseudo-attribute is "and" or "or", returns a localized "and"
         or "or"</simpara>
@@ -1916,8 +1878,7 @@
       <listitem>
         <simpara>otherwise returns the literal value of the
-        <sgmltag>choice</sgmltag> pseudo-attribute</simpara>
+        <tag>choice</tag> pseudo-attribute</simpara>
       </listitem>
     </itemizedlist>
-
     The latter is provided only as a temporary workaround because the
     locale files do not currently have translations for the word
@@ -1925,10 +1886,8 @@
     logical "or" separator in French (for example), you currently need
     to do this:
-
     <literallayout>&lt;?dbchoice choice="ou"?></literallayout>
     </para>
-
     <warning>
-      <para>The <sgmltag>dbchoice</sgmltag> processing instruction is
+      <para>The <tag>dbchoice</tag> processing instruction is
       an unfortunate hack; support for it may disappear in the future
       (particularly if and when a more appropriate means for marking
@@ -1938,12 +1897,7 @@
 </doc:template>
 <xsl:template name="select.choice.separator">
-  
   <xsl:variable name="choice">
-    <xsl:call-template name="pi-attribute">
-      <xsl:with-param name="pis" select="processing-instruction('dbchoice')"/>
-      <xsl:with-param name="attribute">choice</xsl:with-param>
-    </xsl:call-template>
-  </xsl:variable>
-  
+    <xsl:call-template name="pi.dbchoice_choice"/>
+  </xsl:variable>
   <xsl:choose>
     <!-- if value of $choice is "and" or "or", translate to equivalent in -->
@@ -2025,4 +1979,3 @@
     </xsl:choose>
   </xsl:template>
-
 </xsl:stylesheet>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/de.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/de.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/de.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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"/>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/en.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/en.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/en.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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"/>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/es.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/es.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/es.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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"/>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/fr.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/fr.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/fr.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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é"/>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/it.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/it.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/it.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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"/>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/labels.xsl
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/labels.xsl	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/labels.xsl	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -194,4 +194,16 @@
     </xsl:when>
     <xsl:when test="string($reference.autolabel) != 0">
+      <xsl:if test="$component.label.includes.part.label != 0 and
+                      ancestor::part">
+        <xsl:variable name="part.label">
+          <xsl:apply-templates select="ancestor::part" 
+                               mode="label.markup"/>
+        </xsl:variable>
+        <xsl:if test="$part.label != ''">
+          <xsl:value-of select="$part.label"/>
+          <xsl:apply-templates select="ancestor::part" 
+                               mode="intralabel.punctuation"/>
+        </xsl:if>
+      </xsl:if>
       <xsl:variable name="format">
         <xsl:call-template name="autolabel.format">
@@ -199,5 +211,12 @@
         </xsl:call-template>
       </xsl:variable>
-      <xsl:number from="book" count="reference" format="{$format}" level="any"/>
+      <xsl:choose>
+        <xsl:when test="$label.from.part != 0 and ancestor::part">
+          <xsl:number from="part" count="reference" format="{$format}" level="any"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:number from="book" count="reference" format="{$format}" level="any"/>
+        </xsl:otherwise>
+      </xsl:choose>
     </xsl:when>
   </xsl:choose>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/pi.xsl
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/pi.xsl	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/pi.xsl	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -1,10 +1,12 @@
 <?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'>
 
 <!-- ********************************************************************
@@ -16,15 +18,106 @@
      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="."/>
-</xsl:template>
-
-<xsl:template match="processing-instruction('dbtimestamp')">
+<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>
+
+<doc:pi name="dbtimestamp" xmlns="">
+  <refpurpose>Inserts a date timestamp</refpurpose>
+  <refdescription>
+    <para>Use the <tag>dbtimestamp</tag> PI at any point in a
+      source document to cause a date timestamp (a formatted
+      string representing the current date and time) to be
+      inserted in output of the document.</para>
+  </refdescription>
+  <refsynopsisdiv>
+    <synopsis><tag class="xmlpi">dbtimestamp format="<replaceable>formatstring</replaceable>" [padding="0"|"1"]</tag></synopsis>
+  </refsynopsisdiv>
+  <refparameter>
+    <variablelist>
+      <varlistentry><term>format="<replaceable>formatstring</replaceable>"</term>
+        <listitem>
+          <para>Specifies format in which the date and time are
+            output</para>
+        <note>
+          <para>For details of the content of the format string,
+            see <link role="tcg" xlink:href="Datetime.html"
+              >Date and time</link>.</para>
+        </note>
+        </listitem>
+      </varlistentry>
+      <varlistentry><term>padding="0"|"1"</term>
+        <listitem>
+          <para>Specifies padding behavior; if non-zero, padding is is added</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refparameter>
+</doc:pi>
+<xsl:template name="pi.dbtimestamp">
   <xsl:variable name="format">
     <xsl:variable name="pi-format">
@@ -45,6 +138,5 @@
       </xsl:otherwise>
     </xsl:choose>
-  </xsl:variable>  
-
+  </xsl:variable> 
   <xsl:variable name="padding">
     <xsl:variable name="pi-padding">
@@ -61,5 +153,4 @@
     </xsl:choose>
   </xsl:variable>
-
   <xsl:variable name="date">
     <xsl:choose>
@@ -73,8 +164,7 @@
     </xsl:choose>
   </xsl:variable>
-
   <xsl:choose>
     <xsl:when test="function-available('date:date-time') or
-                    function-available('date:dateTime')">
+      function-available('date:dateTime')">
       <xsl:call-template name="datetime.format">
         <xsl:with-param name="date" select="$date"/>
@@ -89,5 +179,53 @@
     </xsl:otherwise>
   </xsl:choose>
-
+</xsl:template>
+
+<doc:pi name="dbtex_delims" xmlns="">
+  <refpurpose>Generates delimiters around embedded TeX equations
+    in output</refpurpose>
+  <refdescription>
+    <para>Use the <tag class="xmlpi">dbtex delims</tag> PI as a
+      child of a <tag>textobject</tag> containing embedded TeX
+      markup, to cause that markup to be surrounded by
+      <literal>$</literal> delimiter characters in output.</para>
+  </refdescription>
+  <refsynopsisdiv>
+    <synopsis><tag class="xmlpi">dbtex delims="no"|"yes"</tag></synopsis>
+  </refsynopsisdiv>
+  <refparameter>
+    <variablelist>
+      <varlistentry><term>dbtex delims="no"|"yes"</term>
+        <listitem>
+          <para>Specifies whether delimiters are output</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refparameter>
+  <refsee role="params">
+    <para><parameter>tex.math.delims</parameter></para>
+  </refsee>
+  <refsee role="tcg">
+    <para><link role="tcg"
+        xlink:href="TexMath.html"
+        >DBTeXMath</link></para>
+  </refsee>
+</doc:pi>
+<xsl:template name="pi.dbtex_delims">
+  <xsl:param name="node" select="."/>
+  <xsl:call-template name="pi-attribute">
+    <xsl:with-param name="pis" select="$node/processing-instruction('dbtex')"/>
+    <xsl:with-param name="attribute" select="'delims'"/>
+  </xsl:call-template>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="processing-instruction()" mode="titlepage.mode">
+  <!-- * Als process PIs on title pages -->
+  <xsl:apply-templates select="."/>
+</xsl:template>
+
+<xsl:template match="processing-instruction('dbtimestamp')">
+  <xsl:call-template name="pi.dbtimestamp"/>
 </xsl:template>
 
@@ -96,115 +234,112 @@
   <xsl:param name="format"/>
   <xsl:param name="padding" select="1"/>
-  
   <xsl:if test="$format != ''">
     <!-- replace any whitespace in the format string with a non-breaking space -->
     <xsl:variable name="format-nbsp"
-		  select="translate($format,
-			  '&#x20;&#x9;&#xd;&#xa;',
-			  '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
+      select="translate($format,
+      '&#x20;&#x9;&#xd;&#xa;',
+      '&#xa0;&#xa0;&#xa0;&#xa0;')"/>
     <xsl:variable name="tokenized-format-string">
       <xsl:call-template name="str.tokenize.keep.delimiters">
-	<xsl:with-param name="string" select="$format-nbsp"/>
-	<xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
+        <xsl:with-param name="string" select="$format-nbsp"/>
+        <xsl:with-param name="delimiters" select="'&#xa0;,./-()[]:'"/>
       </xsl:call-template>
     </xsl:variable>
-
-  <xsl:choose>
-    <!-- include extra test for Xalan quirk -->
-    <xsl:when test="function-available('exsl:node-set') or 
-		    contains(system-property('xsl:vendor'),'Apache Software Foundation')">
-      <!-- We must preserve context node in order to get valid language -->
-      <xsl:variable name="context" select="."/>
-      <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
-        <xsl:variable name="token">
-          <xsl:value-of select="."/>
-        </xsl:variable>
-        <!-- Restore context node -->
-        <xsl:for-each select="$context">
-          <xsl:choose>
-            <xsl:when test="$token = 'a'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-abbrev'"/>
-                <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'A'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-full'"/>
-                <xsl:with-param name="name" select="date:day-name($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'b'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-abbrev'"/>
-                <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'c'">
-              <xsl:value-of select="date:date($date)"/>
-              <xsl:text> </xsl:text>
-              <xsl:value-of select="date:time($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'B'">
-              <xsl:call-template name="gentext.template">
-                <xsl:with-param name="context" select="'datetime-full'"/>
-                <xsl:with-param name="name" select="date:month-name($date)"/>
-              </xsl:call-template>
-            </xsl:when>
-            <xsl:when test="$token = 'd'">
-              <xsl:if test="$padding = 1 and
-              string-length(date:day-in-month($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:day-in-month($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'H'">
-              <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:hour-in-day($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'j'">
-              <xsl:value-of select="date:day-in-year($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'm'">
-              <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:month-in-year($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'M'">
-              <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:minute-in-hour($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'S'">
-              <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
-              <xsl:value-of select="date:second-in-minute($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'U'">
-              <xsl:value-of select="date:week-in-year($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'w'">
-              <xsl:value-of select="date:day-in-week($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'x'">
-              <xsl:value-of select="date:date($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'X'">
-              <xsl:value-of select="date:time($date)"/>
-            </xsl:when>
-            <xsl:when test="$token = 'Y'">
-              <xsl:value-of select="date:year($date)"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:value-of select="$token"/>
-            </xsl:otherwise>
-          </xsl:choose>
+    <xsl:choose>
+      <!-- include extra test for Xalan quirk -->
+      <xsl:when test="function-available('exsl:node-set') or 
+        contains(system-property('xsl:vendor'),'Apache Software Foundation')">
+        <!-- We must preserve context node in order to get valid language -->
+        <xsl:variable name="context" select="."/>
+        <xsl:for-each select="exsl:node-set($tokenized-format-string)/node()">
+          <xsl:variable name="token">
+            <xsl:value-of select="."/>
+          </xsl:variable>
+          <!-- Restore context node -->
+          <xsl:for-each select="$context">
+            <xsl:choose>
+              <xsl:when test="$token = 'a'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-abbrev'"/>
+                  <xsl:with-param name="name" select="date:day-abbreviation($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'A'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-full'"/>
+                  <xsl:with-param name="name" select="date:day-name($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'b'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-abbrev'"/>
+                  <xsl:with-param name="name" select="date:month-abbreviation($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'c'">
+                <xsl:value-of select="date:date($date)"/>
+                <xsl:text> </xsl:text>
+                <xsl:value-of select="date:time($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'B'">
+                <xsl:call-template name="gentext.template">
+                  <xsl:with-param name="context" select="'datetime-full'"/>
+                  <xsl:with-param name="name" select="date:month-name($date)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:when test="$token = 'd'">
+                <xsl:if test="$padding = 1 and
+                  string-length(date:day-in-month($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:day-in-month($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'H'">
+                <xsl:if test="$padding = 1 and string-length(date:hour-in-day($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:hour-in-day($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'j'">
+                <xsl:value-of select="date:day-in-year($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'm'">
+                <xsl:if test="$padding = 1 and string-length(date:month-in-year($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:month-in-year($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'M'">
+                <xsl:if test="string-length(date:minute-in-hour($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:minute-in-hour($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'S'">
+                <xsl:if test="string-length(date:second-in-minute($date)) = 1">0</xsl:if>
+                <xsl:value-of select="date:second-in-minute($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'U'">
+                <xsl:value-of select="date:week-in-year($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'w'">
+                <xsl:value-of select="date:day-in-week($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'x'">
+                <xsl:value-of select="date:date($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'X'">
+                <xsl:value-of select="date:time($date)"/>
+              </xsl:when>
+              <xsl:when test="$token = 'Y'">
+                <xsl:value-of select="date:year($date)"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:value-of select="$token"/>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:for-each>
         </xsl:for-each>
-      </xsl:for-each>
-    </xsl:when>
-    <xsl:otherwise>
-      <xsl:message>
-        Timestamp processing requires an XSLT processor with support
-        for the EXSLT node-set() function.
-      </xsl:message>
-    </xsl:otherwise>
-  </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message>
+          Timestamp processing requires an XSLT processor with support
+          for the EXSLT node-set() function.
+        </xsl:message>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:if>
-
 </xsl:template>
 
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/refentry.xsl
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/refentry.xsl	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/refentry.xsl	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -17,34 +17,23 @@
 
 <!-- ==================================================================== -->
-<doc:reference xmlns="">
-  <referenceinfo>
+<doc:reference xmlns="" xml:id="refentry">
+  <info>
+    <title>Common » Refentry Metadata Template Reference</title>
     <releaseinfo role="meta">
       $Id$
     </releaseinfo>
-    <corpauthor>The DocBook Project</corpauthor>
-    <copyright>
-      <year>2005-2007</year>
-      <holder>The DocBook Project</holder>
-    </copyright>
-  </referenceinfo>
-  <title>Refentry Metadata-Gathering Template Reference</title>
-
-  <partintro id="partintro">
+  </info>
+  <!-- * yes, partintro is a valid child of a reference... -->
+  <partintro xml:id="partintro">
     <title>Introduction</title>
-
-    <para>This is technical reference documentation for the "refentry
-    metadata gathering" templates in the DocBook XSL Stylesheets.</para>
-
+    <para>This is technical reference documentation for the “refentry
+    metadata” templates in the DocBook XSL Stylesheets.</para>
     <para>This is not intended to be user documentation. It is provided
-    for developers writing customization layers for the
-    stylesheets.</para>
-
+    for developers writing customization layers for the stylesheets.</para>
     <note>
       <para>Currently, only the manpages stylesheets make use of these
       templates. They are, however, potentially useful elsewhere.</para>
     </note>
-
   </partintro>
-
 </doc:reference>
 
@@ -57,25 +46,25 @@
     example, users view Unix man pages as, well, individual pages, not as
     part of a "book" of some kind. Therefore, it is sometimes necessary to
-    embed "context" information in output for each <sgmltag>refentry</sgmltag>.</para>
+    embed "context" information in output for each <tag>refentry</tag>.</para>
 
     <para>However, one problem is that different users mark up that
     context information in different ways. Often (usually), the
     context information is not actually part of the content of the
-    <sgmltag>refentry</sgmltag> itself, but instead part of the content of a
-    parent or ancestor element to the the <sgmltag>refentry</sgmltag>. And
+    <tag>refentry</tag> itself, but instead part of the content of a
+    parent or ancestor element to the the <tag>refentry</tag>. And
     even then, DocBook provides a variety of elements that users might
     potentially use to mark up the same kind of information. One user
-    might use the <sgmltag>productnumber</sgmltag> element to mark up version
+    might use the <tag>productnumber</tag> element to mark up version
     information about a particular product, while another might use
-    the <sgmltag>releaseinfo</sgmltag> element.</para>
+    the <tag>releaseinfo</tag> element.</para>
 
     <para>Taking all that in mind, the
     <function>get.refentry.metadata</function> template tries to gather
-    metadata from a <sgmltag>refentry</sgmltag> element and its ancestor
+    metadata from a <tag>refentry</tag> element and its ancestor
     elements in an intelligent and user-configurable way. The basic
     mechanism used in the XPath expressions throughout this stylesheet
     is to select the relevant metadata from the *info element that is
-    closest to the actual <sgmltag>refentry</sgmltag>&#160;– either on the
-    <sgmltag>refentry</sgmltag> itself, or on its nearest ancestor.</para>
+    closest to the actual <tag>refentry</tag>&#160;– either on the
+    <tag>refentry</tag> itself, or on its nearest ancestor.</para>
 
     <note>
@@ -92,5 +81,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -98,5 +87,5 @@
         <term>info</term>
         <listitem>
-          <para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
+          <para>A set of info nodes (from a <tag>refentry</tag>
           element and its ancestors)</para>
         </listitem>
@@ -195,8 +184,8 @@
     <para>The <literal>man(7)</literal> man page describes this as "the
     title of the man page (e.g., <literal>MAN</literal>). This differs
-    from <sgmltag>refname</sgmltag> in that, if the <sgmltag>refentry</sgmltag> has a
-    <sgmltag>refentrytitle</sgmltag>, we use that as the <sgmltag>title</sgmltag>;
-    otherwise, we just use first <sgmltag>refname</sgmltag> in the first
-    <sgmltag>refnamediv</sgmltag> in the source.</para>
+    from <tag>refname</tag> in that, if the <tag>refentry</tag> has a
+    <tag>refentrytitle</tag>, we use that as the <tag>title</tag>;
+    otherwise, we just use first <tag>refname</tag> in the first
+    <tag>refnamediv</tag> in the source.</para>
   </refdescription>
   <refparameter id="get.refentry.title-params">
@@ -205,5 +194,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -211,5 +200,5 @@
   </refparameter>
   <refreturn id="get.refentry.title-returns">
-  <para>Returns a <sgmltag>title</sgmltag> node.</para></refreturn>
+  <para>Returns a <tag>title</tag> node.</para></refreturn>
 </doc:template>
 <xsl:template name="get.refentry.title">
@@ -233,6 +222,6 @@
     <para>The <literal>man(7)</literal> man page describes this as "the
     section number the man page should be placed in (e.g.,
-    <literal>7</literal>)". If we do not find a <sgmltag>manvolnum</sgmltag>
-    specified in the source, and we find that the <sgmltag>refentry</sgmltag> is
+    <literal>7</literal>)". If we do not find a <tag>manvolnum</tag>
+    specified in the source, and we find that the <tag>refentry</tag> is
     for a function, we use the section number <literal>3</literal>
     ["Library calls (functions within program libraries)"]; otherwise, we
@@ -245,5 +234,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -324,5 +313,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -330,5 +319,5 @@
         <term>info</term>
         <listitem>
-          <para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
+          <para>A set of info nodes (from a <tag>refentry</tag>
           element and its ancestors)</para>
         </listitem>
@@ -343,5 +332,5 @@
   </refparameter>
   <refreturn id="get.refentry.date-returns">
-    <para>Returns a <sgmltag>date</sgmltag> node.</para>
+    <para>Returns a <tag>date</tag> node.</para>
   </refreturn>
 </doc:template>
@@ -496,5 +485,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -502,5 +491,5 @@
         <term>info</term>
         <listitem>
-          <para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
+          <para>A set of info nodes (from a <tag>refentry</tag>
           element and its ancestors)</para>
         </listitem>
@@ -516,5 +505,5 @@
   </refparameter>
   <refreturn id="get.refentry.source-returns">
-    <para>Returns a <sgmltag>source</sgmltag> node.</para>
+    <para>Returns a <tag>source</tag> node.</para>
   </refreturn>
 </doc:template>
@@ -612,5 +601,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -618,5 +607,5 @@
         <term>info</term>
         <listitem>
-          <para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
+          <para>A set of info nodes (from a <tag>refentry</tag>
           element and its ancestors)</para>
         </listitem>
@@ -796,5 +785,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -802,5 +791,5 @@
         <term>info</term>
         <listitem>
-          <para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
+          <para>A set of info nodes (from a <tag>refentry</tag>
           element and its ancestors)</para>
         </listitem>
@@ -982,5 +971,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
@@ -988,5 +977,5 @@
         <term>info</term>
         <listitem>
-          <para>A set of info nodes (from a <sgmltag>refentry</sgmltag>
+          <para>A set of info nodes (from a <tag>refentry</tag>
           element and its ancestors)</para>
         </listitem>
@@ -1002,5 +991,5 @@
   </refparameter>
   <refreturn id="get.refentry.manual-returns">
-    <para>Returns a <sgmltag>manual</sgmltag> node.</para>
+    <para>Returns a <tag>manual</tag> node.</para>
   </refreturn>
 </doc:template>
@@ -1141,16 +1130,16 @@
   <refdescription id="get.refentry.metadata.prefs-desc">
     <para>The DocBook XSL stylesheets include several user-configurable
-    global stylesheet parameters for controlling <sgmltag>refentry</sgmltag>
+    global stylesheet parameters for controlling <tag>refentry</tag>
     metadata gathering. Those parameters are not read directly by the
-    other <sgmltag>refentry</sgmltag> metadata-gathering
+    other <tag>refentry</tag> metadata-gathering
     templates. Instead, they are read only by the
     <function>get.refentry.metadata.prefs</function> template,
     which assembles them into a structure that is then passed to
-    the other <sgmltag>refentry</sgmltag> metadata-gathering
+    the other <tag>refentry</tag> metadata-gathering
     templates.</para>
 
     <para>So the, <function>get.refentry.metadata.prefs</function>
     template is the only interface to collecting stylesheet parameters for
-    controlling <sgmltag>refentry</sgmltag> metadata gathering.</para>
+    controlling <tag>refentry</tag> metadata gathering.</para>
   </refdescription>
   <refparameter id="get.refentry.metadata.prefs-params">
@@ -1159,5 +1148,5 @@
   </refparameter>
   <refreturn id="get.refentry.metadata.prefs-returns">
-    <para>Returns a <sgmltag>manual</sgmltag> node.</para>
+    <para>Returns a <tag>manual</tag> node.</para>
   </refreturn>
 </doc:template>
@@ -1224,5 +1213,5 @@
         <term>refname</term>
         <listitem>
-          <para>The first <sgmltag>refname</sgmltag> in the refentry</para>
+          <para>The first <tag>refname</tag> in the refentry</para>
         </listitem>
       </varlistentry>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/table.xsl
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/table.xsl	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/table.xsl	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -125,9 +125,9 @@
 <refpurpose>Determine the column number in which a given entry occurs</refpurpose>
 <refdescription id="entry.colnum-desc">
-<para>If an <sgmltag>entry</sgmltag> has a
-<sgmltag class="attribute">colname</sgmltag> or
-<sgmltag class="attribute">namest</sgmltag> attribute, this template
+<para>If an <tag>entry</tag> has a
+<tag class="attribute">colname</tag> or
+<tag class="attribute">namest</tag> attribute, this template
 will determine the number of the column in which the entry should occur.
-For other <sgmltag>entry</sgmltag>s, nothing is returned.</para>
+For other <tag>entry</tag>s, nothing is returned.</para>
 </refdescription>
 <refparameter id="entry.colnum-params">
@@ -135,5 +135,5 @@
 <varlistentry><term>entry</term>
 <listitem>
-<para>The <sgmltag>entry</sgmltag>-element which is to be tested.</para>
+<para>The <tag>entry</tag>-element which is to be tested.</para>
 </listitem>
 </varlistentry>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/utility.xsl
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/utility.xsl	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/utility.xsl	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -4,4 +4,5 @@
                 xmlns:dyn="http://exslt.org/dynamic"
                 xmlns:saxon="http://icl.com/saxon"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
                 exclude-result-prefixes="doc dyn saxon"
                 version='1.0'>
@@ -16,40 +17,31 @@
 
      ******************************************************************** -->
-
-<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>
 
@@ -68,6 +60,5 @@
   <refparameter id="log.message-params">
     <variablelist>
-      <varlistentry>
-        <term>level</term>
+      <varlistentry><term>level</term>
         <listitem>
           <para>Text to log/emit in the message-level field to
@@ -77,6 +68,5 @@
         </listitem>
       </varlistentry>
-      <varlistentry>
-        <term>source</term>
+      <varlistentry><term>source</term>
         <listitem>
           <para>Text to log/emit in the source field to identify the
@@ -97,6 +87,5 @@
         </listitem>
       </varlistentry>
-      <varlistentry>
-        <term>context-desc</term>
+      <varlistentry><term>context-desc</term>
         <listitem>
           <para>Text to log/emit in the context-description field to
@@ -104,6 +93,5 @@
         </listitem>
       </varlistentry>
-      <varlistentry>
-        <term>context-desc-field-length</term>
+      <varlistentry><term>context-desc-field-length</term>
         <listitem>
           <para>Specifies length of the context-description field
@@ -127,12 +115,10 @@
         </listitem>
       </varlistentry>
-      <varlistentry>
-        <term>message</term>
+      <varlistentry><term>message</term>
         <listitem>
           <para>Text to log/emit in the actual message field</para>
         </listitem>
       </varlistentry>
-      <varlistentry>
-        <term>message-field-length</term>
+      <varlistentry><term>message-field-length</term>
         <listitem>
           <para>Specifies length of the message
@@ -256,9 +242,9 @@
     <note>
       <para>This function began as a copy of Nate Austin's
-        <function>prepend-pad</function> function in the <ulink
-          url="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
-          Content</ulink> section of Dave Pawson's <ulink
-          url="http://www.dpawson.co.uk/xsl/index.html" >XSLT
-          FAQ</ulink>.</para>
+        <function>prepend-pad</function> function in the <link
+          xlink:href="http://www.dpawson.co.uk/xsl/sect2/padding.html" >Padding
+          Content</link> section of Dave Pawson's <link
+          xlink:href="http://www.dpawson.co.uk/xsl/index.html" >XSLT
+          FAQ</link>.</para>
     </note>
   </refdescription>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_cn.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_cn.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_cn.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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="摘要"/>
Index: stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_tw.xml
===================================================================
--- stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_tw.xml	(revision c873d8072e3e1fb78b1be4ba5e3f8e3548d29694)
+++ stylesheets/lfs-xsl/docbook-xsl-snapshot/common/zh_tw.xml	(revision b1a369745a1ae0a1cdd77dbdd945045081695387)
@@ -20,4 +20,11 @@
 
 <!-- ******************************************************************** -->
+<!-- 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="摘要"/>
