[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Table Header Column Formatting
Hi Marcel,
In DocBook 4.5, the role attribute is not permitted
on the colspec element. However, it is for DocBook 5. So you could add
role attributes to colspec and test for them.
There is a utility template named
'inherited.table.attribute' that can find an attribute value for an entry or
from any of its table ancestors. It will also check the colspec for the
entry's column, since some properties like align can be set there. So you can
customize the template name 'table.cell.properties' to fetch the value of the
'role' attribute and add properties based on its value. This snippet shows
how it can be done:
<xsl:template
name="table.cell.properties">
<xsl:param name="bgcolor.pi" select="''"/> <xsl:param name="rowsep.inherit" select="1"/> <xsl:param name="colsep.inherit" select="1"/> <xsl:param name="col" select="1"/> <xsl:param name="valign.inherit" select="''"/> <xsl:param name="align.inherit" select="''"/> <xsl:param name="char.inherit" select="''"/> <!-- Add this variable -->
<xsl:variable
name="role.attribute">
<xsl:call-template name="inherited.table.attribute"> <xsl:with-param name="entry" select="."/> <xsl:with-param name="attribute" select="'role'"/> <xsl:with-param name="colnum" select="$col"/> </xsl:call-template> </xsl:variable> <xsl:choose>
<xsl:when test="ancestor::d:tgroup"> <xsl:if test="$bgcolor.pi != ''"> <xsl:attribute name="background-color"> <xsl:value-of select="$bgcolor.pi"/> </xsl:attribute> </xsl:if> <!-- Add this test -->
<xsl:if
test="$role.attribute =
'colspecrole'">
<xsl:attribute name="background-color"> <xsl:value-of select="'#AEEEEE'"/> </xsl:attribute> </xsl:if> ...
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]