【发布时间】:2019-02-12 19:23:56
【问题描述】:
当我运行 XQuery 命令行时,只要结果是一个元素,它就可以工作。
当我扩展该 XQuery 以仅获取属性值时,它失败并出现以下错误:
SENR0001: Cannot serialize a free-standing attribute node (net.sf.saxon.om.NameOfNode)
所以,这行得通
java -cp ...Saxon-HE-9.9.0-1.jar net.sf.saxon.Query
-s:AnyXMLFileAvailable.xml -qs:/
这失败了:
java -cp ...Saxon-HE-9.9.0-1.jar net.sf.saxon.Query
s:AnyXMLFileAvailable.xml -qs://@*
只要 XML 中的任何位置至少有一个属性,此命令就会失败并出现上述错误
我相信这可以通过许可的 Saxon 解决,它可以使用
-outval:recover
开关。还有其他方法吗?
【问题讨论】:
-
我已经确定 XQuery 在不返回字符串(例如属性值)时可以工作。我会提供一个示例 XML 文件,但为什么要这样做 - 任何现有的 XML 文件就足够了。任何回答这个问题的人都会手头有 XML 文件
-
您希望属性节点序列的序列化形式是什么?