[XSL-LIST Mailing List Archive Home]
Re: [xsl] Applying lists outside of paragraphs
Subject: Re: [xsl] Applying lists outside of paragraphs|
From: "Spencer Tickner" <spencertickner@xxxxxxxxx>
Date: Thu, 21 Sep 2006 06:24:04 -0800
Thanks for the info. I agree completely that the problem is the crazy
content model for <p>. I like your idea of using the <div> element
instead, makes a lot of sense.
On 9/21/06, David Carlisle <davidc@xxxxxxxxx> wrote:
> I would need to find the start of the list element, end one <p>
> and start another after the list if there is any text() or inline
> elements after the end of the list. Do you have any suggestions on how
> this could be done?
Think in terms of nodes, not the tagging, you can't end a node and start
another, what you need to do is group the children of the p into groups
of adjacent nodes that are lists (or other block elements) which you
copy, or inline elements which you copy as children of a newly generated
So, this is a grouping question, for which you'd use xsl:for-each group
in xslt2 or any of the grouping idioms in xslt1, eg this vesrion in the
Personally I think the problem is the crazy content model for p in html
and xhtml1 (which is fixed, finally, in xhtml2) so an alternative to
doing this grouping is to generate your result documents using div
instead of p. div is essentially "p with a fixed content model that
allows block level elements".