Subject: [xsl] grouping adjacent siblings From: utah@xxxxxxxxxxxxxxx Date: Thu, 3 May 2001 11:48:27 -0400 (EDT) |
I am trying to transform the following... <frag> <b>house</b> <a>door</a> <a>wall</a> <a>room</a> <b>barn</b> <a>hay</a> <a>cow</a> <a>poo</a> </frag> into... <frag> <house> <a>door</a> <a>wall</a> <a>room</a> </house> <barn> <a>hay</a> <a>cow</a> <a>poo</a> </barn> </frag> using something to the effect of... <xsl:template match="frag"> <xsl:for-each select="b"> <xsl:apply-templates/> <xsl:for-each select="following-sibling::a[not(following-sibling:*[1][self::b)]"> <xsl:apply-templates/> </xsl:for-each> </xsl:for-each> </xsl:template> which is a long way off... I want to stick to defining the pattern within one template (preferably within one XPath expression) for I have a lot of tricky nested nodes to knock out and the source tree to get at this context node... I've had some luck at grouping all following <<a>> siblings into their respective <<b>> context node but have been unable to replicate this with preceding nodes. If possible this woudl seem to be the simplest solution... 1. select all following nodes 2. exclude all nodes preceding the context node But this would require back-referencing the *current* context node.. right?? any ideas... Utah Ingersoll utah@xxxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] RE: [xsl] Â / em dash bug?, Michael Kay | Thread | RE: [xsl] grouping adjacent sibling, Michael Kay |
RE: [xsl] Q on <xsl:sort>, Walter Torres | Date | RE: [xsl] creating a toc with links, Meltem Kogelbauer |
Month |