Re: [docbook-apps] Table Line Thickness

From
Bob Stayton <>
Date
2009-09-05T23:26:08+00:00
ID
00f901ca2e80$31664d00$0a00a8c0@pazu
Thread
Re: [docbook-apps] Table Line Thickness
Hi Dean,

You could do it with a processing instruction, a tabstyle attribute is more 
appropriate. A tabstyle can be put on a table or 
informaltable element to indicate to the stylesheet that different 
styling is required.  

 

If you go with tabstyle, you can call a utility template named 
'tabstyle' that  returns the value of the attribute for the current 
table.  The tabstyle template is described here:

 

http://www.sagehill.net/docbookxsl/PrintTableStyles.html#TabstyleTemplate

 

To customize the frame borders, you would copy and edit the template named 
table.frame in fo/table.xsl to use an xsl:choose statement to select the frame 
thickness.  An example of using xsl:choose with tabstyle for 
table cell properties is shown here:

 

http://www.sagehill.net/docbookxsl/PrintTableStyles.html#CustomCellProperties

 

In the table.frame template, you could do that once at the top of the 
template to fill a variable, and then use that variable in place of 
$table.frame.border.thickness in the long set of frame choices that 
follow:

 

  <xsl:variable name="tabstyle">
    
<xsl:call-template name="tabstyle"/>
  </xsl:variable>

 

  <xsl:variable name="frame.thickness">
    
<xsl:choose>
      <xsl:when 
test="$tabstyle='thickborder'">2pt</xsl:when>
      
<xsl:when 
test="$tabstyle='verythickborder'">4pt</xsl:when>
      
<xsl:otherwise>
        
<xsl:value-of 
select="$table.frame.border.thickness"/>
      
</xsl:otherwise>
    </xsl:choose>
  
</xsl:variable>

 

And then replace all other instances in the template of 
$table.frame.border.thickness with $frame.thickness.

 

If you need to also change the rowsep and colsep (cell borders), then 
customize the template named 'border' in fo/table.xsl with the same 
technique.

 

Bob Stayton
Sagehill Enterprises


 

 

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

  
From: 
   

  
To:  
  

  
Sent: Thursday, September 03, 2009 5:34 
  PM

  
Subject: [docbook-apps] Table Line 
  Thickness

  

  
Hello everyone,

  
 

  
Is there a way to control the thickness of the border of each table 
  separately? The common parameter only applies to ALL tables.

  
 

  
Maybe an additional PI?

  
 

  
Thanks

  
Dean Nelson