XQuery-Update:插入表达式的目标节点不可更新

XQuery-Update: Target node of insert expression is not updateable

运行 这个代码

copy $foo := <foo />
modify (
  insert node <bar /> into $foo
)
return $foo

在 Saxon-EE 9.6.0.7(形式 Oxygen 18)中出现错误

Target node of insert expression is not updateable

BaseX returns <foo><bar/></foo>

谁是对的?是否有另一种方法来修改任何 xml-表达式,而不仅仅是那些由 doc() 加载的表达式(与 Saxon 一起使用)?

您需要设置选项 -tree:linked 以确保 Saxon 使用可更新的树模型运行。默认树模型是不可变的。