3

例如

我正在使用动态数据创建一个元素 -

XQUERY
let $sttag:=  concat('<', '/')
return concat ($sttag, "newTag")

上面的 XQuery 返回输出&lt;/newTag而不是</newTag.

有什么方法可以使用 xquery 打印“<”和“>”?

4

2 回答 2

4

这是构造元素的最动态方式的图示——名称在编译时是未知的,并且通常在每次执行时都不同

let $name := translate(concat('N', current-time()), ':','_')
  return
      element {$name} {}

产生

<N21_26_40.708-07_00/>
于 2012-04-21T04:28:38.127 回答
3

我推荐使用XQuery 的元素构造函数。您可以使用计算的元素构造函数动态创建元素:

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 规范的示例)

在你的情况下,你可以使用

element newTag { ... }
于 2012-04-20T10:29:38.303 回答