MarkLogic删除具有不同子节点的父节点



我尝试删除具有子abstract的父<Book:PDF>。有什么办法解决吗?

xdmp:node-delete($xml/Book:PDF)将删除所有Book:PDF节点

xdmp:node-delete($xml/Book:PDF/html:html)移除抽象的子节点,但所有Book:PDF节点保持不变。

样品$xml:

<Lib:Record Type="Bio" xmlns:lib="http://fxlib.net/lib/record">
<Book:PDF>
<html:html>
<abstract>
....
....
</abstract>
</html:html>
</Book:PDF>
<Book:PDF>
<html:Authors>
<Author>
....
....
</Author>
</html:Authors>
</Book:PDF>
</Lib:Record>

正确结果:

<Lib:Record Type="Bio" xmlns:lib="http://fxlib.net/lib/record">   
<Book:PDF>
<html:Authors>
<Author>
....
....
</Author>
</html:Authors>
</Book:PDF>
</Lib:Record>

如果要删除具有abstract子体的Book:PDF元素,则使用XPath选择带有谓词的Book:PDF来测试它们是否具有任何abstract子体:

xdmp:node-delete($xml/Book:PDF[.//abstract])

最新更新