Re: [docbook-apps] Table numbering with docbook 1.74.3 on PDF and HTML report.

From
Bob Stayton <>
Date
2009-09-30T16:02:19+00:00
ID
06d501ca41e7$5cd2f360$0a00a8c0@pazu
Thread
Re: [docbook-apps] Table numbering with docbook 1.74.3 on PDF and HTML report.
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) &gt; 
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


 

 

  
----- Original Message ----- 

  
From: 
  Bela 
  Patel 

  
To:  
  

  
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.