namespace of variables

The current draft (may 2003) , in [3.1.2 Variables] states that:
  « An unprefixed variable reference is in nonamespace. »

However, in [4.3 Default Namespace Declarations] it is said that:

Unqualified attribute names and variable names are never in a
namespace, *with one exception*: in a variable definition in a library
module, if the name of the variable being defined has no prefix,
it is considered to be in the target namespace of the library module.

This means that in the following sample, an error
would be raised on the 3rd line (reference to $X):

module "some.NS"
define variable $X { 1 }
define variable $Y { $X + 1 }
...

it should be rewritten like this:

module "some.NS"
declare namespace local = "some.NS"
define variable $X { 1 }
define variable $Y { $local:X + 1 }
...


This seems rather tedious for users. Why not simply say:
" An unprefixed variable reference is in the namespace of the module." ?
[ A main module is considered to have the empty NS ].


-- 
Xavier C. FRANC

Received on Wednesday, 9 July 2003 14:13:55 UTC