[xquery-talk] Variable references and prolog grammar
Pierrick Brihaye
pierrick.brihaye at culture.gouv.fr
Fri Aug 12 11:07:07 PDT 2005
Hi,
XQUERY#1 :
declare variable $foo := "foo";
declare function local:bar() {
"bar"
};
local:bar()
returns :
"bar"
XQUERY#2 :
declare function local:bar() {
"bar"
};
declare variable $foo := "foo";
local:bar()
returns the same result, showing that variable declarations may follow function
declarations as specficied by :
((VarDecl | FunctionDecl | OptionDecl) Separator)*
XQUERY#3 :
declare variable $foo := "foo";
declare function local:bar() {
$foo
};
local:bar()
returns :
"foo"
XQUERY#4 :
declare function local:bar() {
$foo
};
declare variable $foo := "foo";
local:bar()
Saxon 8.5 returns :
Error on line 3 column 1 of file:/C:/saxon8.5/in.txt:
XPST0003: XQuery syntax error in #...unction local:bar() { $foo }#:
Variable $foo has not been declared
Failed to compile query
Is it a bug in the way Saxon's parser handles (or not) forward references, or is
such a forward reference disallowed by the specs ?
Cheers,
p.b.
More information about the talk
mailing list