我試圖創建XQuery代碼,它構造一個名稱空間的xml元素並將其從現有(非名稱空間)元素插入到其中。以下代碼是一個簡化的例子:使用包含的XPath表達式構造名稱空間Xml
xquery version "1.0-ml";
let $xml := <wrapper><elem>textIWant</elem></wrapper>
return <newElem xmlns="http://www.blah.org">{$xml/elem/text()}</newElem>
代替產生所需的輸出:
<newElem xmlns="http://www.blah.org">textIWant</newElem>
它產生這樣的:
<newElem xmlns="http://www.blah.org"/>
此代碼,但是,工作原理:
xquery version "1.0-ml";
let $xml := <wrapper><elem>textIWant</elem></wrapper>
let $elemText := $xml/elem/text()
return <newElem xmlns="http://www.blah.org">{$elemText}</newElem>
使用其他形式的xml構造(element(){...})也可以正常工作。這個問題似乎只在正在構建的xml被賦予命名空間時發生。第一個代碼片段有什麼問題?
我編輯了自己的冠軍。請參閱「[應該在標題中是否包含」標籤「](http://meta.stackoverflow.com/questions/19190/)」,其中共識是「不,他們不應該」。 –