[xquery-talk] Re: zero-length string namespaces URI

Pierrick Brihaye pierrick.brihaye at free.fr
Wed Sep 28 19:33:19 PDT 2005

Pierrick Brihaye a écrit :

> Another question on zero-length string namespaces URI. Given :
>> If the URILiteral part of a namespace declaration is a zero-length 
>> string, any existing namespace binding for the given prefix is removed 
>> from the statically known namespaces. This feature provides a way to 
>> remove predeclared namespace prefixes such as local.
> What could be a pratical use case ? Should :
> declare namespace fn="";
> fn:current-time()
> raise an error ?

Testing this with Saxon :

declare namespace local="";
declare function local:depth($e as node()) as xs:integer
    (: A node with no children has depth 1 :)
    (: Otherwise, add 1 to max depth of children :)
    if (fn:empty($e/*)) then 1
    else fn:max(for $c in $e/* return local:depth($c)) + 1


returns :

XPST0003: XQuery syntax error in #declare namespace local="";#:
A namespace URI cannot be empty



More information about the talk mailing list