Re: [xsl] Transform inline-block type elements to block-level elements

Subject: Re: [xsl] Transform inline-block type elements to block-level elements
From: "Christian Roth" <roth@xxxxxxxxxxxxxx>
Date: Sat, 25 Nov 2006 18:44:44 +0100
David Carlisle wrote:

>see last month's thread.

Had a look at it. You suggested there:

>if you want to do p then the idea is to do grouping either with
>xsl-for-each-group in xslt2 or an xslt1 grouping with the grouping key
>being a boolean that's true for block elements, so each group of inline
>elements you stick in a p and each group of block elements you don't.

How will this work with my example given? The grouping is certainly not
a flat one on sibling level, but nested, with inlines like <strong> and
<em> needing to be pushed down, crossing their way with <ul> and <li>
needing to be pulled up. I know that I will need grouping in the
solution (I can use XSLT2, btw.), but it seems not to be the single key
technique in solving my problem - or is it?

>in summary either use grouping techniques (muenchian grouping in xslt1,
>for-each-group in xslt2) or sompler just use div instead of p in the
>result which doesn't have the annoying restriction of not allowing block
>level elements in content.

I'm sorry for the confusion I created with my "alternate subject" line.
The target is *not* XHTML, but a custom language not supporting the HTML
<div> rendering semantics, so just passing on the difficult stuff to the
rendering component later in the tool chain is not an option in my case.


Current Thread