[xquery-talk] namespace questions

Uwe Küssner UweKuessner at web.de
Mon May 8 10:25:22 PDT 2006


Hello,

I have difficulties in using namespaces in xquery.
To create an xml-document like this:

<foo xmlns:sam=”http://www.aaa.aaa/a”  xmlns:huhu=”http://www.aaa.aaa/b”  >
    <sam:bar/>
    <huhu:ele>text</huhu:ele>
</foo>

I use the follwing xquery:

declare namespace sam="http://www.aaa.aaa/a";
declare namespace huhu="http://www.aaa.aaa/b";
let $extern := <a namespace="huhu"/>
return
   <foo>
	<sam:bar/>
	{element {concat($extern/@namespace,":","ele")} {"text"}}
	</foo>

which generates:

<foo>
    <sam:bar/>
    <huhu:ele>text</huhu:ele>
</foo>

Questions:
1.	What is necessary to create the missing namespace declarations xmlns:sam=”http://www.aaa.aaa/a”  in the foo element ?
2. If the second line  (declare namespace huhu=http://www.aaa.aaa/b”; is missing ) there is a runtime error. (Undeclared prefix in element name:huhu). If the prefix “huhu” of the namespace is not known in advance, but only at run time, is it still possible to construct a node “<huhu:ele>” ?

thank you for your help.


Uwe Küssner




More information about the talk mailing list