xml - 如何在 XPath 3 查询中引用其他 XML 文件

标签 xml xpath

我正在使用 XML 编辑器 Pathology对于Mac。它基于Panthro ,XPath 3.0 在 Objective-C/Cocoa 中的开源实现。

我想对引用其他 XML 文件(“Bookstore2.xml”)的文件“Bookstore.xml”进行查询:

doc("Bookstore.xml")//Magazine[Title = doc("Bookstore2.xml")//Book/Title]

但是程序显示“调用未知函数:doc()”。如何引用其他 XML 文件?我错过了什么?

顺便说一句,我检查了其他答案,例如 this one 。但我没有弄清楚任何事情。

非常感谢。

最佳答案

这里是病理学的开发者。抱歉,但是 Panthro – 我自己开发并为 Pathology 提供支持的 XPath 引擎 – 不支持 doc() 函数。

我没有实现这个功能的最大原因是 Pathology 主要通过 Mac App Store 销售,因此根据苹果对 Mac App Store 应用程序相当严格的规则,它必须是一个“沙盒应用程序”。如果用户没有通过 GUI 进行直接干预,沙盒应用程序无法打开 Mac 上的任意文件,但这正是 doc() 函数的作用。

基本上,doc() 函数本质上与沙盒 Mac 应用程序的概念不兼容,因为 Panthro 的目的是为 Pathology 提供动力,而 Pathology 是通过 Mac 销售的 Mac 应用程序App Store 中,我避免实现 doc() 以避免这种固有的不兼容性。

我知道这不是一个非常令人满意的答案,但情况很困难。苹果的“沙盒”限制有利有弊。不幸的是,这是缺点之一。

关于xml - 如何在 XPath 3 查询中引用其他 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44065077/

相关文章:

python - 如何根据lxml中的 child 选择 parent ?

xml - XPath中 '='和 '=='有区别吗?

xml - (XSLT,代码优化)如何输出引用兄弟节点值的节点..?

android - 针对 xsd 的 xml 模式转换问题在 android 应用程序中给出非法异常

Android Annotations + RestTemplate - 获取响应 xml 作为字符串

html - xpath 在页面中查找特定链接

xml - 如果有多个匹配项,如何获取所有结果 : XSL

java - 将方法添加到 org.w3c.dom.Node

PHP:XML 文件到字符串,使用 asXML() 更快的 file_get_contents 或 simplexml_load_file

javascript - InvalidSelectorError : The result of the xpath expression is [object Text]. 应该是一个元素