在basex 7.9中使用xquery获取属性时出错

时间:2014-11-25 09:41:58

标签: xpath xquery basex

这是XML输入:

<bookstore>
  <book category="COOKING">
  <title lang="en">Everyday Italian</title>  
  <author>Giada De Laurentiis</author>
    <year>2005</year>
   <price>30.00</price>
  </book>
  <book category="CHILDREN">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>

我正在使用BaseX 7.9。当我请求属性时,

for $book in collection()/bookstore/book
return $book/@*

发生错误:

[SENR0001] Attributes cannot be serialized: attribute category {"COOKING"}.

如何解决这个问题?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

XQuery 3.1 Serialization规范提供了新的&#34;自适应&#34;序列化模式,允许序列化属性和命名空间节点。从BaseX 8.0版开始,此模式用作新默认值。

这在规范的早期版本中有所不同,它不允许自己输出属性(有关详细信息,请参阅错误代码SENR0001)。