List Info

Thread: cals tables: competing colwidths




cals tables: competing colwidths
user name
2006-08-08 07:42:03
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
bobssagehill.net

[1] http://www.o
asis-open.org/specs/a502.htm


----- Original Message ----- 
From: "Max Starkenburg" <maxwellowlnet.rice.edu>
To: <docbooklists.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-unsubscribelists.oasis-open.org
> For additional commands, e-mail: docbook-helplists.oasis-open.org
>
>
> 



------------------------------------------------------------
---------
To unsubscribe, e-mail: docbook-unsubscribelists.oasis-open.org
For additional commands, e-mail: docbook-helplists.oasis-open.org

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )