Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - RE: [xsl] XPatch: ancestor and count [Thread Next] Re[2]: [xsl] XPatch: ancestor and countTo: Date: 10/1/2004 2:59:00 PM Hi, Ivan Pedruzzi, Friday, October 1, 2004, 10:10:09 AM: IP> You may try with LibXSLT to see what path comes out. patch name ancestor count /xml-chunk/menu 1 2 /xml-chunk/menu 2 2 /xml-chunk/menu/menuitem 2.1 3 /xml-chunk/menu 3 2 /xml-chunk/menu/menuitem 3.1 3 /xml-chunk/menu/menuitem 3.2 3 /xml-chunk/menu/menuitem 3.3 3 /xml-chunk/menu/menuitem 3.4 3 /xml-chunk/menu/menuitem/menuitem 3.4.1 4 /xml-chunk/menu/menuitem/menuitem 3.4.2 4 /xml-chunk/menu/menuitem 3.5 3 /xml-chunk/menu/menuitem 3.6 3 /xml-chunk/menu/menuitem/menuitem 3.6.1 4 /xml-chunk/menu/menuitem/menuitem 3.6.2 4 /xml-chunk/menuitem 1 2 /xml-chunk/menuitem 2 3 /xml-chunk/menuitem 3 5 < ???? ^^^ ???? XSL: <xsl:template match="menu"> <table class="menu"> <tr><td>patch</td><td>name</td><td>ancestor count</td></tr> <xsl:for-each select="descendant::menuitem"> <tr><td> <xsl:for-each select="ancestor::*"> <xsl:text>/</xsl:text> <xsl:value-of select="local-name()"/> </xsl:for-each></td> <td><xsl:value-of select="@title"/></td> <td align="right"><xsl:value-of select="count(ancestor::*)"/></td></tr> </xsl:for-each> <tr><td> </td><td> </td><td> </td></tr> <xsl:for-each select="child::menuitem"> <tr><td>/xml-chunk/menuitem</td> <td><xsl:value-of select="@title"/></td> <td align="right"><xsl:value-of select="count(.//ancestor::*)"/></td></tr> </xsl:for-each> </xsl:template> -- Best regards, Andrey V. Elsukov | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
