Subject: Re: [xsl] Re: . in for From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Fri, 4 Jan 2002 23:37:02 -0800 (PST) |
--- Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> wrote: > Sure. The XPath 2.0 WD gives only two distinct examples of the for > expression, and neither of them would be achievable using the simple > mapping operator. > > The first one has two range variables, as follows: > > for $i in (1, 2), > $j in (3, 4) > return ($i, $j) > > which returns the sequence: > > (1, 3, 1, 4, 2, 3, 2, 4) > > and is equivalent to: > > for $i in (1, 2) > return for $j in (3, 4) > return ($i, $j) > > This iterates over two sequences - (1, 2) and (3, 4) - within the same > for expression, to create the sequence that contains pairs of possible > combinations (ish - obviously in flat sequences the 'pairedness' isn't > explicit). > > The second example has two for expressions. The inner for expression > creates a sequence to iterate over using the range variable from the > outer for expression within a predicate: > > for $a in distinct-values(//author) > return ($a, > for $b in //book[$b/author = $a] > return $b/title) > > I don't think that you can do either of these with the operator syntax > because you lose track of what *was* the context node as you go from > one step to the next. If the outer context item was available with the > current() function, say, then you could do: > > (1, 2) -> ((3, 4) -> (current(), .)) > Maybe something like this: ( (x, y) | x -> (1,2) | y -> (3,4) ) > and: > > distinct-values(//author) -> > (//book[author = current()] -> (current(), title)) > > but without range variables, you can't manage these situations. > And: ( (y, x ) | x-> //book[author = y]/title | y -> distinct-values(//author) ) Cheers, Dimitre Novatchev. __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: . in for, Jeni Tennison | Thread | Re: [xsl] Re: . in for, Jeni Tennison |
Re: [xsl] number format xsl-fo pdf, Garrick Besterwitch | Date | [xsl] using variable as a value for, tony |
Month |