Subject: Re: [xsl] Conditional Selection of Nodes From: "Kyle D. Morton" <kyle_morton@xxxxxxxxxxx> Date: Wed, 9 May 2001 21:03:00 -0400 |
This sort of does it...It breaks down if child element names are repeated out of sequence. <xsl:template match="/"> <foo> <xsl:variable name="nodeList" select="foo/child::*" /> <xsl:for-each select="$nodeList"> <xsl:variable name="curPos" select="position()" /> <xsl:variable name="curName" select="name()" /> <xsl:variable name="nextName" select="name(following-sibling::*)" /> <xsl:if test="$curName!=$nextName"> <xsl:if test="$curName!='p'"> <p> <xsl:for-each select="$nodeList[name()=$curName and $curPos>=position()]"> <xsl:copy> <xsl:value-of select="text()"/> </xsl:copy> </xsl:for-each> </p> </xsl:if> <xsl:if test="$curName='p'"> <xsl:copy> <xsl:value-of select="text()"/> </xsl:copy> </xsl:if> </xsl:if> </xsl:for-each> </foo> </xsl:template> ----- Original Message ----- From: Ciaran Byrne <ciaran.byrne@xxxxxxx> To: Xsl-List <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Wednesday, May 09, 2001 4:41 PM Subject: [xsl] Conditional Selection of Nodes > Hi all, > The following question has been teasing me lately > and I was hoping someone has an answer. > > I have the following XML ... > > <foo> > <b>content</b> > <b>more content</b> > <p>yet more content</p> > <i>some more conent</i> > </foo> > > > and what I want is to put all child elements of 'foo' that > are not in 'p' elements into a 'p' element, in order. > > <foo> > <p> > <b>content</b> > <b>more content</b> > </p> > <p>yet more content</p> > <p>some more content</p> > </foo> > > The key issue is to avoid putting 'p' elements around every sibling i.e. > > <foo> > <p> > <b>content</b> > </p> > <p> > <b>more content</b> > </p> > etc. > </foo> > > I've tried a few approaches yet no joy ;o( Any help is appreciated > > Ciaran. > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Conditional Selection of Node, Ciaran Byrne | Thread | Re: [xsl] Conditional Selection of , Jeni Tennison |
RE: [xsl] Styling using IE - Corrup, Chris Bayes | Date | Re: [xsl] How to avoid applying tem, Joakim Norlov |
Month |