This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Help! Table formatting with XSL


Put on your XSL thinking caps, please :-)

Consider the following table:

+--------+--------+--------+--------+
|        |   B    |        |   D    |
+   A    +--------+   C    +--------+
|        |        |        |   E    |
+--------+--------+--------+--------+

Represented by this markup:

<informaltable>
<tgroup cols="4">
<colspec colname="c4" colnum="4"/>
<tbody>
<row>
  <entry morerows="1">A</entry>
  <entry>B</entry>
  <entry morerows="1">C</entry>
  <entry>D</entry>
</row>
<row>
  <entry namest="c4">E</entry>
</row>
</tbody>
</tgroup>
</informaltable>

The correct HTML for this table is:

<table border="1">
<tr>
  <td rowspan="2">A</td>
  <td>B</td>
  <td rowspan="2">C</td>
  <td>D</td>
</tr>
<tr>
  <td class="auto-generated"></td>
  <td>E</td>
</tr>
</table>

Can anyone see a practical way to achieve this result without
resorting to extension functions? The tricky bit is not simply
noticing that the introduction of namest may require some
auto-generated cells to be inserted, but calculating correctly, in the
presence of overhang (from an arbitrarily large number of preceeding
rows), how many cells to insert.

(This problem is slightly less serious in the FO case because
fo:table-cell elements have a column-number attribute; although there
are still some potential cell-border problems, I think.)

The DSSSL stylesheets handle this by keeping a list of the overhang on
each column. Since XSL doesn't have lists of integers, that's going to
be considerably more complicated (though I suspect it can be done with
a string of space delimited integers).

I'm hoping I've overlooked something clever and elegant.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com>      | It is not impossibilities which
http://www.oasis-open.org/docbook/ | fill us with the deepest despair,
Chair, DocBook Technical Committee | but possibilities which we have
                                   | failed to realize.--Robert Mallet


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]