[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
};
local:depth(<a><b><c/></b></a>)
returns :
XPST0003: XQuery syntax error in #declare namespace local="";#:
A namespace URI cannot be empty
Cheers,
p.b.
More information about the talk
mailing list