Re: position() problem with // axis + parent numbering probl
Kay Michael wrote: > > Can you tell us *exactly* what you wrote? Here's the XML, XSL and output (the <temp> elements are just there to add depth to the tree - making it look a bit more like my real problem). XML --- <?xml version="1.0"?> <!DOCTYPE document> <document> <children> <temp> <text>P1</text> <children> <temp> <text>P2</text> <text>P3</text> <text>P4</text> <text>P5</text> </temp> </children> </temp> </children> </document> --- XSL --- <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text" /> <xsl:template match="/"> <xsl:for-each select="//text"> <xsl:text>First node (</xsl:text> <xsl:value-of select="position()" /> <xsl:text>) = `</xsl:text> <xsl:value-of select="." /> <xsl:text>' </xsl:text> </xsl:for-each> <xsl:for-each select="//text[not(position() = 1)]"> <xsl:text>Text (</xsl:text> <xsl:value-of select="position()" /> <xsl:text>) = `</xsl:text> <xsl:value-of select="." /> <xsl:text>' </xsl:text> </xsl:for-each> </xsl:template> </xsl:stylesheet> --- OUTPUT --- First node (1) = `P1' First node (2) = `P2' Text (1) = `P3' Text (2) = `P4' Text (3) = `P5' --- Note that the first template has been called twice, and a position() call inside the template returns the correct position in the context list, yet the result appears to conflict with the predicate . In fact they are mutually exclusive (whooops), just not what I was expecting. Any ideas on how I should be phrasing the [not(position() = 1)] predicate? At the moment I'm getting by checking the result of <xsl:number> inside the called template. > I think the <xsl:for-each> here is redundant. The <xsl:number> will give you > the number of the first ancestor that matches the count pattern. You're right - I'm sure I tried that! Thanks. -- Warren Hedley Department of Engineering Science Auckland University New Zealand XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
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