[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Position() Function Using Filter
On 28 October 2011 14:56, Lighton Phiri <lighton.phiri@xxxxxxxxx> wrote: > I am trying to figure out how to get the position of a particular node > after apply a filter. I am able to get the result after using the > XPath below, however, I can't seem to figure out how to get the > position of that node. > > bpage = ASTRO_00007.JPG > books/book[substring-after(substring-after(substring-after(text(), > '/'), '/'), '/')=$bpage] > > <books> > <book>books/physics/astronomy/ASTRO_00002.JPG</> > <book>books/physics/astronomy/ASTRO_00003.JPG</> > <book>books/physics/astronomy/ASTRO_00004.JPG</> > <book>books/physics/astronomy/ASTRO_00005.JPG</> > <book>books/physics/astronomy/ASTRO_00006.JPG</> > <book>books/physics/astronomy/ASTRO_00007.JPG</> > <book>books/physics/astronomy/ASTRO_00008.JPG</> > <book>books/physics/astronomy/ASTRO_00009.JPG</> > <book>books/physics/astronomy/ASTRO_00010.JPG</> > </books> count(preceding-sibling::*) to count the number of preceding elements, so add 1 to that and you get its position amongst its siblings. Also, instead of the nested substrings, you can do: book[ends-with(., $bpage)] or book[tokenize(., '/')[last()] eq $bpage] -- Andrew Welch http://andrewjwelch.com
|
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
|