xquery concat 中 & 的使用

Posted

技术标签:

【中文标题】xquery concat 中 & 的使用【英文标题】:Usage of & in xquery concat 【发布时间】:2019-07-09 19:51:41 【问题描述】:

如何在 XQuery concat 语句中使用 &(与号字符)?我正在使用 eXist DB,这很有效:

concat("Marvin ", "and", " Peter")

但这不是:

concat("Marvin ", "&", " Peter")

我收到错误消息:expecting '"', found '&'

\ 转义 & 符号不起作用。

【问题讨论】:

有趣的是,来自 SO 的通知邮件提供了解决方案。您的问题显示为:How can I use & (the ampersand character) in an Xquery concat statement? I'm using eXist DB and this works: concat("Marvin ", "and", " Peter") but this doesn't: concat("Marvin ", "&", " ... 【参考方案1】:

由于& 是XML character and entity references 的转义字符,它不能用作XML 或XQuery 字符串中的文字字符。您必须使用实体对其进行编码。您可以使用预定义的&,或者通过其Unicode 代码点使用&#[...];(十进制)或&#x[...];(十六进制)引用它:

concat("Marvin ", "&", " Peter"),
concat("Marvin ", "&", " Peter"),
concat("Marvin ", "&", " Peter")

【讨论】:

以上是关于xquery concat 中 & 的使用的主要内容,如果未能解决你的问题,请参考以下文章

eXist DB & XQuery:带有属性的 xml-root 导致没有结果

XQuery:将日期时间与毫秒进行比较

markdown 一份报告显示了eXist实现XPath&XQuery函数和运算符规范中的函数签名不匹配

Xquery、Javascript 和 HTML

xQuery,如何从带有孩子的节点获取文本?

使用 PHP 执行 XQuery