我正在使用适用于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等其他答案。但我没有弄明白。
很多人。
答案 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的“沙盒”限制有其优点和缺点。不幸的是,这是一个缺点。