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