Bill Fenner wrote:
> With the introduction of the start-column property, I can get my
> schema's tables to start rendering like tables. The schema for this
> table is like:
>
> <table>
> <h>Header 1</h>
> <h>Header 2</h>
> <c>Row 1 Column 1</c>
> <c>Row 1 Column 2</c>
> <c>Row 2 Column 1</c>
> <c>Row 2 Column 2</c>
> </table>
>
> Previously, xxe simply couldn't render the table because of the lack
> of table-row wrapper elements. With the new start-column property, I
> can get each row into the right column:
>
> texttable > c {
> display: table-cell;
> start-column:
> concatenate(xpath("if((count(preceding-sibling::c) + 1) mod
> count(../h) = 0, count(../h), (count(preceding-sibling::c) + 1) mod
> count(../h)) - 1"));
> }
>
> This gives me a layout like
> Header 1
> Header 2
> Row 1 Column 1
> Row 1 Column 2
> Row 2 Column 1
> Row 2 Column 2
>
> in a kind of staggered diagonal style. With 3 columns, each row takes
> 3 rows, etc.
>
> I'd love to have the same control over rows, somehow, without having
> the row container object. I'd gladly implement it in css or java. Am
> I dreaming?
>
I'm afraid the answer is yes. I don't see how you could implement that
without elements acting as table rows.
What you want to do is an item of our TODO list: support user-defined
displays.
Something like that:
texttable {
display: name.fenner.xxe.TextTable;
}
where name.fenner.xxe.TextTable is a Java[tm] class you'll have to write.
(User-defined displays are a generalization of what we'll have to do in
order to implement MathML.)