[xquery-talk] string manipulation

John Snelson jsnelson at sleepycat.com
Sun Feb 5 20:21:58 PST 2006

Ryan Grimm wrote:
>> Unfortunatley, the predicate "[1 to last() - 1]" will not work, since 
>> the predicate only selects the node at the numeric position when given 
>> an expression that returns a /single/ numeric value. "1 to last() - 1" 
>> will return a sequence of numeric values.
> The behavior you are describing for the expression "1 to last() - 1" is 
> exactly what I was looking for.  Putting this type of expression inside 
> of a predicate is something that I make heavy use of.  However, it 
> appears that it is something that not all xquery engines support.  Doing 
> this works perfectly well in Mark Logic but I just tested it using Saxon 
> and it does not work there.
> I checked out the spec and I can't find mention of this feature being 
> present but it makes for a very handy short form of subsequence().

The Mark Logic XQuery engine implements the May 2003 Working Draft of 
XQuery, and a lot has changed since then. The expression we are talking 
about is one of the things that has changed - the other XQuery engines 
you talk about seem to be specification complient in this respect.


John Snelson, Berkeley DB XML Engineer
Sleepycat Software, Inc

Contracted to Sleepycat through Parthenon Computing Ltd

More information about the talk mailing list