[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XPath selecting chain of following siblings of the
At 2007-03-10 17:13 +0530, Mukul Gandhi wrote:
I wonder, why this XSLT 1.0 solution doesn't work: From what I can tell it is because you only look at the "next" a and not all contiguous a elements that follow: <xsl:apply-templates select="following-sibling::*[1][self::a]" /> Did you mean to do what is in the code below? This appears to work just fine. I hope this helps. . . . . . . . . . Ken <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <!--identity transform for all nodes other than 'a'--> <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node() | @*" /> </xsl:copy> </xsl:template> <!--the first a--> <xsl:template match="a[not(preceding-sibling::*[1][self::a])]"> <a-block> <xsl:apply-templates select="." mode="nested"/> </a-block> </xsl:template> <!--other a's when nested--> <xsl:template match="a" mode="nested"> <xsl:copy-of select="."/> <xsl:apply-templates select="following-sibling::*[1][self::a]" mode="nested"/> </xsl:template> <!--other a's when not nested can be ignored--> <xsl:template match="a"/> </xsl:stylesheet>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|