我在尝试使用webpack
将SaxonJS
集成到更大的web应用程序时遇到了一个问题。据我所知,webpack
将SaxonJS
视为另一个模块,但SaxonJS
的结构并不是AMD
或CommonJS
模块。相反,Big.js
(一个SaxonJS
依赖项(劫持了导出。我相信修复Node.js的支持也会解决这个问题。
import * as SaxonJS from "./Saxon-JS/SaxonJS.js";
export class Transformer {
public static transform(inputStr: string, sefFile: string, cb: Function) {
// wrap the JSON in XML, as required by XSLT transform
let wrappedJson = `<root xmlns="http://www.w3.org/2005/xpath-functions">${inputStr}</root>`;
SaxonJS.transform({
sourceText: wrappedJson,
stylesheetLocation: `xslt/${sefFile}`,
initialTemplate: "start",
destination: "application"
}, cb);
};
}
请注意,这是一个网络场景;浏览器正在调用SaxonJS。
了解人们如何使用SaxonJS总是很好的。我们Saxonica当然有兴趣了解更多关于您正在尝试做什么以及如何做的信息。您尝试的集成目前不起作用,这并不奇怪。Saxon JS 1并不是真正作为JS模块构建的(例如,注意Big.js
的副本包含在SaxonJS
中,它不是模块依赖项(。
我们正在努力开发下一个主要版本Saxon JS 2.0,它将包括一个Node.JS版本(正如您所知,Saxon JS1仅用于浏览器(。我们希望这次能把模块打包好,这样像您这样的JavaScript开发人员就可以像您所期望的那样集成SaxonJS
模块。欢迎您的见解!
到目前为止,我们倾向于使用XSLT和所提供的IXSL扩展来构建独立的web应用程序,但我们确实希望更好地了解用户如何将SaxonJS集成到更大的现有应用程序中。请你直接联系一下你的用例的更多细节好吗?(例如,有关支持电子邮件地址,请参阅Saxonica网站上的联系人部分。(