MrI*_*lls 2 xml xpath xquery basex
我有这个简单的XML文件:
<catalog>
<product dept="WMN">
<number>557</number>
<name language="en">Fleece Pullover</name>
<colorChoices>navy black</colorChoices>
</product>
<product dept="ACC">
<number>563</number>
<name language="en">Floppy Sun Hat</name>
</product>
<product dept="ACC">
<number>443</number>
<name language="en">Deluxe Travel Bag</name>
</product>
<product dept="MEN">
<number>784</number>
<name language="en">Cotton Dress Shirt</name>
<colorChoices>white gray</colorChoices>
<desc>Our<i>favorite</i>shirt!</desc>
</product>
</catalog>
Run Code Online (Sandbox Code Playgroud)
我正在读Priscila Walmsley的一本名为XQuery的书,它说要输入命令:
doc("catalog.xml")/*/product/@dept
Run Code Online (Sandbox Code Playgroud)
所以我输入BaseX
xquery doc("catalog.xml")/*/product/@dept
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Error:
[SENR0001] Attributes cannot be serialized:attribute dept { "WMN" }.
Run Code Online (Sandbox Code Playgroud)
尽管那本书说:
将返回输入文档中的四个dept属性.
我究竟做错了什么?
BaseX对序列化严格要求.如果强制将属性节点强制转换为字符串,则不会抱怨:
xquery doc("catalog.xml")/*/product/@dept/string()
Run Code Online (Sandbox Code Playgroud)