Ive got a solution here that works first by sorting out the
colspans,
then by processing the RTF produced from that vertically.
On a conformant processor you'll need a node-set() extension
function for that. (Are there some processors that don't flag
this as an error?)
Saxon 7.8 :)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list