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

时间:2017-05-19 08:29:48

标签: xml xpath

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

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

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

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

顺便说一句,我检查了this one等其他答案。但我没有弄明白。

很多人。

1 个答案:

答案 0 :(得分:2)

病理学开发人员。抱歉,Panthro - 我自己开发并支持病理学的XPath引擎 - 不支持doc()功能。

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

基本上,doc()功能本质上与沙盒Mac应用程序的概念不兼容,并且由于Panthro的目的是为病理学提供动力,而Pathology是通过Mac App Store销售的Mac应用程序,我'我们避免实施doc()以避免这种固有的不兼容性。

我知道这不是一个非常令人满意的答案,但情况是困难的。 Apple的“沙盒”限制有其优点和缺点。不幸的是,这是一个缺点。