BUG?: DITA thead @morerows cause bad colwidth in WebHelp

Having trouble installing Oxygen? Got a bug to report? Post it all here.
AJOwens
Posts: 11
Joined: Wed Apr 10, 2013 5:09 pm

BUG?: DITA thead @morerows cause bad colwidth in WebHelp

Post by AJOwens »

In a DITA table, if thead has two rows, and the cells in the first column are spanned using morerows, then in oXygen WebHelp output, the second column can be wider than specified by the colwidth. (I have not examined the original DITA-OT HTML output.)

Here is a sample table to demonstrate the problem:

Code: Select all


<table frame="all" rowheader="firstcol" id="table_jcy_vjc_hk">
<title>Comparison of <table> and <simpletable></title>
<tgroup cols="4">
<colspec colname="c1" colnum="1" colwidth="30*"/>
<colspec colname="c2" colnum="2" colwidth="10*"/>
<colspec colname="c3" colnum="3" colwidth="10*"/>
<colspec colname="c4" colnum="4" colwidth="50*"/>
<thead>
<row>
<!-- use of morerows here causes column c2 to be wider than 10* in webHelp output -->
<entry morerows="1">Feature</entry>
<entry namest="c2" nameend="c3">Supported by</entry>
<entry morerows="1">Comments</entry>
</row>
<row>

<entry><table></entry>
<entry><simpletable></entry>

</row>
</thead>
<tbody>
<row>
<entry>Adjustable column widths</entry>
<entry>Yes</entry>
<entry>Yes</entry>
<entry>Expressed in percentages.</entry>
</row>
</tbody>
</tgroup>
</table>
sorin_ristache
Posts: 4141
Joined: Fri Mar 28, 2003 2:12 pm

Re: BUG?: DITA thead @morerows cause bad colwidth in WebHelp

Post by sorin_ristache »

Hello,

It is a problem in the code that converts the CALS table from the DITA XML source to the HTML table from the HTML output. It is not specific to the Oxygen Webhelp transformation, it comes actually from the DITA-OT stylesheets for the HTML output. If you look at the generated HTML table it gets the width distribution numbers wrong:

Code: Select all

<thead class="thead" align="left">
<tr class="row">

<th class="firstcol" rowspan="2" id="d370e58" valign="top" width="30%">Feature</th>

<th class="entry" colspan="2" id="d370e61" valign="top">Supported by</th>

<th class="entry" rowspan="2" id="d370e64" valign="top" width="50%">Comments</th>

</tr>

<tr class="row">

<th class="firstcol" id="d370e70" valign="top" width="30%"><table></th>

<th class="entry" id="d370e73" valign="top" width="10%"><simpletable></th>


</tr>

</thead>
The value <table> from the second row in the header has a 30% width, but it should have only 10% because the distribution for the first row in the header allocates to it only 10% (20% together with the third column). I think this is the cause of enlarging the second column in the header: allocating 30% to it instead of 10% because that is what the generated HTML code says for the second row of the header. I don't know how the browsers should render such conflicting allocations of the column widths in the distribution of the total table width, but in this case the browser chooses the second value, which is 30%.

We will look at it and see what we can do. I am not sure if this bug was reported to the DITA-OT developers already.


Regards,
Sorin
Post Reply