如何在Marklogic中为Element声明名称空间?

时间:2018-06-20 08:12:37

标签: xml namespaces xquery element marklogic

我想声明一个元素的名称空间。我正在尝试如下-

declare namespace abc="http://marklogic.com/somenamespace";
let $link := "anylink"
let $Content := <content>content</content>
let $result := element abc:data  { 
element headers{},
element root {
  element {"element"}{
            attribute link {$link},
            $Content
          }
     }
}
return $result

我得到的输出为-

<abc:data xmlns:abc="http://marklogic.com/somenamespace">
<headers>
------
---------
--------
</abc:data>

我不想在数据节点中使用“ abc:”。我想要它-

<data xmlns="http://marklogic.com/somenamespace">

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

这应该有效

declare default element namespace "http://marklogic.com/somenamespace";
let $link := "anylink"
let $Content := <content>content</content>
let $result := element data  { 
element headers{},
element root {
element {"element"}{
        attribute link {$link},
        $Content
      }
 }
}
return $result