Actually, the CALS table spec[1] is pretty clear on the
matter. For
example, in the section on <thead> it says:
Any occurrence of <colspec> to redefine a column
redefines the full set
with its own name space and using the same total width as
the enclosing
<tgroup> or <entrytbl>. (An implicit default
<colspec> with a width of "1*"
is assumed for any <colspec> not explicitly
redefined.) These redefined
<colspec>s apply only to the contained <entry>s.
It means the inner colspecs override the tgroup colspecs,
which could lead
to uneven column alignment in different parts of a table.
The current DocBook XSL stylesheets don't implement that
part of the spec
and seem to just ignore colspec in tbody, thead, and tfoot.
Handling new
column widths would be a problem, because XSL-FO doesn't
support changing
column widths at those levels, so you would have to make
each a separate
fo:table.
But colsep, rowsep, and span specs at those levels probably
should be
processed because they are part of the spec. The could be
handled by the
template in common/table.xsl named
'inherited.table.attribute' that
computes the various properties of a cell. You could file a
SourceForge
bug report on this if you like.
Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs sagehill.net
[1] http://www.o
asis-open.org/specs/a502.htm
----- Original Message -----
From: "Max Starkenburg" <maxwell owlnet.rice.edu>
To: <docbook lists.oasis-open.org>
Sent: Monday, August 07, 2006 8:30 AM
Subject: [docbook] cals tables: competing colwidths
>I had question that didn't seem answered in the CALS
table spec. I'm
> wondering what is supposed to happen if a tgroup,
thead, and tbody all
> have colspec children with different colwidth
attributes in them,
> especially if they are supposed to be in the same
column. Does the level
> with the widest colwidth value "win"?
>
> In case an example helps:
>
> <table>
> <tgroup cols="2">
> <colspec colwidth="4*" />
> <colspec />
> <thead>
> <colspec colwidth="2*" />
> <colspec />
> <row>
> <entry>2*?</entry>
> <entry>.</entry>
> </row>
> </thead>
> <tfoot>
> <colspec colwidth="3*" />
> <colspec />
> <row>
> <entry>3*?</entry>
> <entry>.</entry>
> </row>
> </tfoot>
> <tbody>
> <row>
> <entry>4*?</entry>
> <entry>.</entry>
> </row>
> </tbody>
> </tgroup>
> </table>
>
> I don't know whether the table should look something
like this ...
> _____________________
> | 2*? | . |
> |_________________|___|
> | 4*? | . |
> |_________________|___|
> | 3*? | . |
> |_________________|___|
>
> ... or, heaven forbid, this ...
> _____________
> | 2*? | . |
> |_________|___|_______
> | 4*? | . |
> |_________________|___|
> | 3*? | . |
> |_____________|___|
>
> ... or something else completely?
>
> Thanks,
>
> Max Starkenburg
> http://cnx.org
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: docbook-unsubscribe lists.oasis-open.org
> For additional commands, e-mail: docbook-help lists.oasis-open.org
>
>
>
------------------------------------------------------------
---------
To unsubscribe, e-mail: docbook-unsubscribe lists.oasis-open.org
For additional commands, e-mail: docbook-help lists.oasis-open.org
|