[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH] add "table caption" as a formal.title.placement option
Patch to allow "caption" as a keyword for table titles in "formatl.title.placement", if you like. Patch is against version 1.69.1. -Stephen diff -X dtbl-dontdiff -uNr docbook-xsl-1.69.1.orig/common/titles.xsl docbook-xsl-1.69.1/common/titles.xsl --- docbook-xsl-1.69.1.orig/common/titles.xsl 2005-06-06 04:46:27.000000000 -0400 +++ docbook-xsl-1.69.1/common/titles.xsl 2006-02-13 16:42:19.704530744 -0500 @@ -16,6 +16,48 @@ <!-- ==================================================================== --> +<doc:template name="get-placement" xmlns=""> +<refpurpose>Get the title placement for a specific object type.</refpurpose> + +<refdescription> +<para>This template returns the title placement for the specified +object by parsing the value of "formal.title.placement".</para> +</refdescription> + +<refparameter> +<variablelist> +<varlistentry><term>object.type</term> +<listitem> +<para>The type of object for which the placement setting should be returned. +Default: local-name(.)</para> +</listitem> +</varlistentry> +</variablelist> +</refparameter> + +<refreturn> +<para>A string representing the desired placement of the object's + title</para> +</refreturn> +</doc:template> + +<xsl:template name="get-placement"> + <xsl:param name="object.type" select="local-name(.)"/> + <xsl:variable name="param.placement" + select="substring-after(normalize-space($formal.title.placement), + concat($object.type, ' '))"/> + + <xsl:choose> + <xsl:when test="contains($param.placement, ' ')"> + <xsl:value-of select="substring-before($param.placement, ' ')"/> + </xsl:when> + <xsl:when test="$param.placement = ''">before</xsl:when> + <xsl:otherwise> + <xsl:value-of select="$param.placement"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + <!-- title markup --> <doc:mode mode="title.markup" xmlns=""> diff -X dtbl-dontdiff -uNr docbook-xsl-1.69.1.orig/html/formal.xsl docbook-xsl-1.69.1/html/formal.xsl --- docbook-xsl-1.69.1.orig/html/formal.xsl 2004-04-11 18:41:29.000000000 -0400 +++ docbook-xsl-1.69.1/html/formal.xsl 2006-02-13 17:22:31.837830744 -0500 @@ -44,7 +44,9 @@ <xsl:call-template name="table.longdesc"/> </xsl:if> - <xsl:call-template name="formal.object.heading"/> + <xsl:if test="$placement != 'caption'"> + <xsl:call-template name="formal.object.heading"/> + </xsl:if> </xsl:otherwise> </xsl:choose> </div> diff -X dtbl-dontdiff -uNr docbook-xsl-1.69.1.orig/html/table.xsl docbook-xsl-1.69.1/html/table.xsl --- docbook-xsl-1.69.1.orig/html/table.xsl 2005-06-01 22:25:17.000000000 -0400 +++ docbook-xsl-1.69.1/html/table.xsl 2006-02-13 16:48:53.743627696 -0500 @@ -333,6 +333,25 @@ </xsl:otherwise> </xsl:choose> + <xsl:variable name="placement"> + <xsl:call-template name="get-placement"> + <xsl:with-param name="object.type" select="'table'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="$placement = 'caption'"> + <xsl:variable name="position"> + <xsl:number count="tgroup"/> + </xsl:variable> + <xsl:if test="$position = 1"> + <caption> + <xsl:apply-templates select=".." mode="object.title.markup"> + <xsl:with-param name="allow-anchors" select="1"/> + </xsl:apply-templates> + </caption> + </xsl:if> + </xsl:if> + <xsl:variable name="colgroup"> <colgroup> <xsl:call-template name="generate.colgroup"> diff -X dtbl-dontdiff -uNr docbook-xsl-1.69.1.orig/params/formal.title.placement.xml docbook-xsl-1.69.1/params/formal.title.placement.xml --- docbook-xsl-1.69.1.orig/params/formal.title.placement.xml 2005-06-16 02:59:46.000000000 -0400 +++ docbook-xsl-1.69.1/params/formal.title.placement.xml 2006-02-13 17:09:24.696494416 -0500 @@ -30,7 +30,11 @@ <sgmltag>table</sgmltag>, and <sgmltag>procedure</sgmltag>) you can specify either the keyword <quote><literal>before</literal></quote> or -<quote><literal>after</literal></quote>.</para> +<quote><literal>after</literal></quote>. +The keyword +<quote><literal>caption</literal></quote> +is also accepted +for tables rendered in html.</para> </refsect1> </refentry>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]