例如
我正在创建一个包含动态数据的元素 -
XQUERY
let $sttag:= concat('<', '/')
return concat ($sttag, "newTag")
以上XQuery将输出返回为</newTag
而不是</newTag
。
有没有办法打印“&lt;”和“&gt;”使用xquery?
答案 0 :(得分:2)
我建议使用XQuery's element constructors。您可以使用computed element constructor动态创建元素:
element book {
attribute isbn {"isbn-0060229357" },
element title { "Harold and the Purple Crayon"},
element author {
element first { "Crockett" },
element last {"Johnson" }
}
}
结果
<book isbn="isbn-0060229357">
<title>Harold and the Purple Crayon</title>
<author>
<first>Crockett</first>
<last>Johnson</last>
</author>
</book>
(来自W3C XQuery specs的例子)
在您的情况下,您可以使用
element newTag { ... }
答案 1 :(得分:2)
以下是构建元素的最动态方式的说明 - 名称在编译时是未知的,并且在每次执行时通常都是不同的:
let $name := translate(concat('N', current-time()), ':','_')
return
element {$name} {}
<强>产生强>:
<N21_26_40.708-07_00/>