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.
> 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 p element.
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 faq:
http://www.dpawson.co.uk/xsl/sect2/N4486.html#d5167e528
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".
David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Applying lists outside of, David Carlisle | Thread | [xsl] WordML restart list numbering, Emily.Garrett |
Re: [xsl] Applying lists outside of, David Carlisle | Date | Re: [xsl] writing error file, Wendell Piez |
Month |