Re: Counting level of nodes beneath current (in XPATH)
> The solution is not near what I hoped as it seems to be very slow. Speed's all relative, it took 300 years to solve Fermat's last theorem. Why is everyone in such a rush these days:-) There are various things you can do to speed it up eg change <xsl:for-each select=".//Y"> to <xsl:for-each select=".//Y[not(X/Y)]"> so you only count the ancestors on the leaf Y nodes. also sorting all the nodes into order and taking the last is far from being the quickest way of finding the maximum (all the time taken sorting the rest of the list is wasted) just the least amount of code. Also you probably don't need this number explictly. for example if $lv=2 then an identity transform plus the template <xsl:template match="X[not(Y/X/Y)]"/> is all you need so an alternative strategy would be to take the parameter and as a first pass generate a stylesheet that just has a single template as above, and imports an identity transform, then run that generated stylesheet. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
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