如何在我的Electron.js应用程序中集成XSLT处理器?

时间:2017-11-30 12:21:27

标签: node.js xml xslt cheerio

我正在开发一个Electron应用程序,它需要通过XSLT进行场景XML操作。

我做的第一件事就是点击npm和github,但它变得非常复杂(我必须承认我是编程的新手,它对我来说主要是一种爱好)。几乎每个图书馆都需要编译,并且有多个选项,我甚至不理解(静态编译,ecc,ecc),我无法看到这可以帮助我提供跨平台应用程序,当这么多平台可能与否时具有所需的依赖项,例如libxml2或libxslt。

也许我应该使用Chromium的xml处理器?感觉有限,因为它应该只支持XSLT 1,我听说Chrome有XSLT处理问题。

我想到的另一个选择是以不同的方式操作xml,使用某种类型的库可以解析xer文档,例如cheerio(基本上是服务器端jquery),这对于xml来说需要更复杂的方法。用dom操作比使用xslt样式表。

我想到的最后一件事是通过将xml上传到服务器并在此处理转换(因此xslt进程不是客户端)然后将xml发送回用户来处理这个问题,但这需要不可预测的数量工作和用户可能会遇到的痛苦经历(如果服务器需要处理多个100mb转换,例如4小时?)。

1 个答案:

答案 0 :(得分:1)

您需要运行哪些平台?

Saxon-JS目前可以在浏览器上运行,但可以通过一些调整使它在Node.js上运行(我们不推广它的主要原因是缺少有用的东西,如XML解析和浏览器不需要的序列化;加上缺乏测试。

主要限制是Saxon-JS只是一个XSLT运行时;它要求在服务器上的Saxon-EE产品下编译样式表。