当尝试使用 oXygen 编辑器注释掉元素内的节点时,oXygen 只是将其(:<foo>foo 1</foo>:)
包装(:
成文本节点:)
。
然后我查看了语法,发现您需要使用封闭的表达式{(:<foo>foo 1</foo>:)}
来访问注释语法。
然而,当 BaseX 和 Saxon 9.8 愉快地接受{(:<foo>foo 1</foo>:)}
时,Altova 抱怨并需要一个额外的空序列{(:<foo>foo 1</foo>:)()}
。
https://www.w3.org/TR/xquery-31/#doc-xquery31-EnclosedExpr建议在 XQuery 3.1 中大括号内的表达式是可选的,默认为()
.
这是否也意味着在 XQuery 3.1 中只使用大括号内的注释就足够了,没有空序列?
总而言之,Saxon 和 BaseX 允许我使用<root>{(:<foo>foo 1</foo>:)}</root>
,而 Altova 抱怨语法不正确,迫使我使用<root>{(:<foo>foo 1</foo>:)()}</root>
.
这在 XQuery 3.1 中是否仍然需要?