[xquery-talk] Using functions in replacement argument with fn:replace()?

Martin Probst martin at x-hive.com
Thu Jan 12 19:04:39 PST 2006


Hi,

>    replace("abc", ".", upper-case("$0")) => "abc"  [???!!!]
>
> I'm not clear from the W3C XPath 2.0 documentation whether the
> replacement argument of fn:replace() is supposed to be a literal
> xs:string, or whether any expression evaluating to a string is
> permissible.

An expression evaluating to a string is possible, but it's evaluated
before the regular expression is executed (so upper-case("$0") returns
"$0" which leads to "abc"). What you want to do is not possible.

Martin



More information about the talk mailing list