----- Original Message -----
From: "Max Starkenburg" <>
To: <>
Sent: Thursday, December 15, 2005 8:15 AM
Subject: [docbook] CALS table attribute inheritance questions
> I sent this out two weeks ago, but never received any replies, so I'm
> trying again. Sorry to be a pest, but I need an answer to these questions
> before I can continue with my work. If there's something I wrote that
> didn't make sense, let me know and I will try to clarify. Thanks,
>
> Max
> http://cnx.rice.edu
>
> ---------- Forwarded message ----------
> Hello, I have some questions about inheritance issues for attributes in
> CALS tables that aren't very clear to me from the spec I've been using
> (http://www.oasis-open.org/specs/a502.htm) or other sources I have seen on
> the 'net. Let's say I have the following table:
>
> <table>
> <tgroup align="center" cols="3">
> <colspec colname="c1" colsep="0" />
> <colspec colname="c2" align="right" />
> <colspec colname="c3" align="right" />
> <tbody>
> <row rowsep="0">
> <entrytbl cols="2" colname="c1">
> <tbody>
> <row>
> <entry> A.1 </entry>
> <entry> A.2 </entry>
> </row>
> <row>
> <entry> A.3 </entry>
> <entry> A.4 </entry>
> </row>
> </tbody>
> </entrytbl>
> <entry colname="c2"> B </entry>
> <entry> C </entry>
> </row>
> </tbody>
> </tgroup>
> </table>
>
> My first question is whether the "A.x" entries should inherit the
> rowsep="0" (from their common <row> ancestor), the colsep="0" (from the
> <colspec> referenced in the <entrytbl>), and the align="center" (from
> their <tgroup> ancestor)? In other words, do such attributes "reset" at
> the <entrytbl> level, or do they continue being inherited all the way up?
> If they "reset", would the "A.x" entries inherit any attributes defined in
> <table>?
The answer is no, according to the CALS table spec at
http://www.oasis-open.org/specs/a502.htm
"Within an <entrytbl>, inheritance for an <entry> is from <entrytbl> (or its
<thead> if the <entry> is also in it) instead of <tgroup>, and cannot be
from <thead> or <tfoot> of that <tgroup>."
However, I'm not sure the XSL stylesheet is behaving correctly in an
entrytbl. It uses an ancestor::tgroup in computing the inherited attribute
value, and an entrytbl does not have a tgroup. I'm going to go through that
template again with your example. The entrytbl does seem to inherit the
colsep="0" from the outer tgroup, and that is not correct.
> My second question is whether the content in the "C" <entry> aligns to the
> right, as defined by the third <colspec>, even though its <entry> doesn't
> specifically reference the third <colspec> via a colname attribute (as was
> done in the "B" <entry> with the second <colspec>)?
Yes, it should align right. The 3rd colspec applies to entry elements in
that column even if it is not referred to by name.
Bob Stayton
Sagehill Enterprises
DocBook Consulting