Вы можете назначить префикс QName следующим образом:
let $exp:= QName ("urn:my-namespace", "myns:real")
Вероятно, лучший способ решить эту проблему - объявить эти пространства имен в запросе и просто обратиться к ним по префиксу:
declare namespace rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
declare namespace myns="urn:my-namespace";
declare function local:exp($w as node()) as element()* {
for $e in $w/e
return
element myns:real {
attribute rdf:resource {$e/@lang}
}
};
Обратите внимание, что вы можете упростить свою функцию, используя прямые конструкторы:
declare function local:exp($w as node()) as element()* {
for $e in $w/e
return <myns:real rdf:resource="{$e/@lang}" />
};