|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XPath - How to select preceding nodes that are de
Thanks Ken.
I've given your example a quick test - and it does seem to be efficient - and better than my current interim solution: <xsl:variable name='curridx' select='generate-id(descendant-or-self::LEAF[1])'/> <xsl:variable name='leafset' select='ancestor::SUBTREE//LEAF'/> <xsl:variable name='num_prev_leafs'> <xsl:for-each select='$leafset'> <xsl:if test='$curridx = generate-id(.)'><xsl:value-of select='position() - 1'/></xsl:if> </xsl:for-each> </xsl:variable> I hadn't thought of using the <xsl:number> element in a variable definition before. Probably because I cannot get a clear picture in my head of how <xsl:number> works. I will investigate further. However I now find I do need to know the number of previous LEAF nodes at other points in the SUBTREE hierarchy - when - as you point out - the number function will miss by one (? or more?). Is there a modification to the <xsl:number> approach you can suggest (as this seems a lot more elegant than my current attempt) that would work from non-LEAF elements? G. Ken Holman wrote: At 2004-06-26 12:19 +0100, Mike Trotman wrote: -- Datalucid Limited 8 Eileen Road South Norwood London SE25 5EJ / tel :0208-239-6810 mob: 0794-725-9760 email: mike.trotman@xxxxxxxxxxxxx / UK Co. Reg: 4383635 VAT Reg.: 798 7531 60
|
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
|

Cart








