- From: Mark D. Anderson <mda@discerning.com>
- Date: Mon, 16 Aug 2004 17:52:10 -0700
- To: public-qt-comments@w3.org
1. Section 4.12 of WD-xquery-20040723 indicates that a library module
can only declare variables in its own namespace, and that
unprefixed variables can only be declared in a main module.
But what does this mean about using unprefixed variables in a
library module?
If a main module has:
declare variable $mainvar = 'fred';
import module foo = "http://whatever.org/modules/foo" at "foo.xq";
Should foo.xq allow:
module namespace foo = "http://whatever.org/modules/foo";
declare function foo:getmain() {$mainvar};
2. I am similarly confused by section 4.11.
Should a library module be able to use a namespace declared
in a main module?
Is it legal for it to provide its own definition?
An example main module might be:
declare namespace bar = "http://whatever.org/namespaces/bar";
import module foo = "http://whatever.org/modules/foo" at "foo.xq";
and foo.xq would then be:
module namespace foo = "http://whatever.org/modules/foo";
(:declare namespace bar = "http://whatever.org/namespaces/bar";:)
declare function foo:getbar() {<bar:root/>};
3. In section .43, I'm unclear as to whether the "local" prefix
is legal in a library module. It says:
In order to allow main modules to declare functions for local use
within the module
without defining a new namespace, XQuery predefines the namespace
prefix local to
the namespace http://www.w3.org/2004/07/xquery-local-functions, and
reserves this namespace for use in defining local functions.
I hope this doesn't mean that it is impossible/illegal to define
local functions in a library module.
Thanks....
-mda
Received on Tuesday, 17 August 2004 00:52:28 UTC