[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: limit the results of preceding in predicate

Subject: Re: limit the results of preceding in predicate
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Thu, 15 Feb 2007 21:31:45 +0530
Re:  limit the results of preceding in predicate
On 2/14/07, Marc Lambrichs <marc.lambrichs@xxxxxxxxxxxxx> wrote:
Suppose $tail is a nodeset of 'A' nodes:
<xsl:variable name="tail" select="//A"/>
All 'A' nodes have an attribute 'property' which contains a number.

Now I want to find the first 'A' node inside $tail that has a certain
property ( in this case: the sum of all preceding  @property =
$someNumber ).

If you use the following declaration just once, there's no problem.

<xsl:variable name="test"
select="$tail[sum(preceding-sibling::A/@property) = $someNumber][1]"/>

However, if $tail is part of a recursion process and changes, how can I
make sure that the 'preceding-sibling::A' are restricted to the current
$tail nodes?

In XSLT, variable once set to a value, cannot be set to another value. It may seem strange to someone who has experiance working with imperative programming style (where variables can be modified). But this behaviour of variables has many (other) benifits (you could search the archives, if you need the answer to this).

I think the solution to your problem is - you can create a recursive
named template (which you are probably already having), and define a
parameter to it (which denotes $tail, which you are saying). When you
make a recursive call to this template, pass the modified value of
$tail.

--
Regards,
Mukul Gandhi

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.