Subject: Re: [xsl] RE: For expressions and / operator in XPath 2.0 From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 3 Jan 2002 14:57:08 +0000 |
Mike, > Basically, binary operators (and, or, etc) are recognized in the > same way as XPath 1.0, by virtue of the lexical token that precedes > them. Function names are recognized by a following "(", axis names > by a following "::"; "if" by a following "("; "for", "some", and > "every" by a following "$". So keywords are disambiguated from > element names by a single-token lookahead. So you could make 'for' without range variables recognisable through a following "(" as is done with 'if': "for" "(" Expr ")" "return" Expr >> Say you had a sequence of numbers (conceptually coordinate pairs). >> You could do a 'scale' operation by multiplying the pairs by 2: >> >> $coordinates -> (. * 2) >> >> and then do a 'move' operation by adding 50 to the odd numbers: >> >> $coordinates -> (. * 2) -> (if (position() mod 2) then . + >> 50 else .) > > [Parochial question: does this example have something to do with the > new algorithm for British vehicle registrations?] Um, no :) I took inspiration from the transform attribute in SVG: transform="translate(50,0) scale(2)" does a scale followed by a move. I guess it was the 'adding 50 to the second half of the year' that made you think of the vehicle registrations? You might do something along those lines with: $years -> (. - 2000) -> (., . + 50) Perhaps. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] RE: For expressions and /, Michael Kay | Thread | [xsl] leading : on qnames, David Carlisle |
Re: [xsl] Urgent please folks, need, G. Ken Holman | Date | Re: [xsl] unique elements from diff, G. Ken Holman |
Month |