Hi,
The number labels are generated by applying templates to the table element in
mode="label.markup". The default template is in common/labels.xsl and works
for table, figure, and example:
<xsl:template match="figure|table|example" mode="label.markup">
<xsl:variable name="pchap"
select="ancestor::chapter
|ancestor::appendix
|ancestor::article[ancestor::book]"/>
<xsl:variable name="prefix">
<xsl:if test="count($pchap) > 0">
<xsl:apply-templates select="$pchap" mode="label.markup"/>
</xsl:if>
</xsl:variable>
<xsl:choose>
<xsl:when test="@label">
<xsl:value-of select="@label"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$prefix != ''">
<xsl:apply-templates select="$pchap" mode="label.markup"/>
<xsl:apply-templates select="$pchap" mode="intralabel.punctuation"/>
<xsl:number format="1" from="chapter|appendix" level="any"/>
</xsl:when>
<xsl:otherwise>
<xsl:number format="1" from="book|article" level="any"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
You can copy this to your customization layer and change it to match="table" to
only affect tables. Then a couple more changes are needed.
The variable "pchap" is the ancestor element whose number label becomes the
prefix for the table number. Change the variable pchap selection to
"ancestor::section". And then change the first xsl:number so the "from"
attribute is "section" instead of "chapter|appendix", so that the table
numbering restarts in each section. That should do it.
You might need to make further improvements to handle the case of a table
contained in a chapter before the first section, though.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: Bela Patel
To: [email protected]
Sent: Wednesday, September 30, 2009 8:35 AM
Subject: [docbook-apps] Table numbering with docbook 1.74.3 on PDF and HTML
report.
Hi,
I am using docbook version 1.74.3.
Currently I am getting table number on my HTML/PDF report as
(ChapterNumber).1, (ChapterNumber).2, (ChapterNumber).3 ... and so on
For example: I have "Chapter 2" and under it I have section number 2.3.2.
Following is how table numbers are listed curently on my HTML report (table
2.1, table 2.3 and table 2.3).
Chapter 2
2.3.2 Report Trees
Table 2.1 Dec1Tree
Data Type
Length
Numeric
3
Table 2.2 Dec2Tree
Data Type
Length
Numeric
3
Table 2.3 Dec3Tree
Data Type
Length
Numeric
3
I want the table numbers starting with the section number above it instead on
starting with the Chapter number above it.
For example: I want the Table number as (Table 2.3.2.1, Table 2.3.2.2 and
Table 2.3.2.3) shown below.
Chapter 2
2.3.2 Report Trees
Table 2.3.2.1 Dec1Tree
Data Type
Length
Numeric
3
Table 2.3.2.2 Dec2Tree
Data Type
Length
Numeric
3
Table 2.3.2.3 Dec3Tree
Data Type
Length
Numeric
3
How can I achieve it?
Thanks,
BRAMANI.