如果我将拥有Saxon-EE(.NET版本)个人许可证,我可以编译样式表并导出到XML格式(没有字节码)。 但我不知道我可以用我的.NET应用程序分发Saxon-EE库,以便在用户端导入已编译的样式表吗?
我的xslt不包含可授权的Saxon功能。
撒克逊文件:
导出样式表包需要Saxon-EE,可选择使用 如果样式表包含嵌入的许可证信息,则为开发者主密钥 要出口。导入样式表包需要 Saxon-PE或Saxon-EE软件可以实现包装导入,但是 除非要执行样式表,否则无需购买许可证密钥 使用可授权的撒克逊功能。 (这意味着运行时软件 以这种方式执行打包代码所需的是免费的,但不是 开源。)
这意味着用户可以使用没有许可证密钥的Saxon-EE来运行已编译的样式表。 我可以在我的应用程序中包含saxon-EE dll以进行分发吗?
答案 0 :(得分:1)
我们现在已经建立了电子邮件联系,以讨论商业可能性,但为了其他读者的利益,这里是对所涉及的技术特征的描述。
Saxon-EE 9.7具有“导出”功能,允许您以XML格式导出已编译和优化的样式表;这可以在不同的机器上随时重新加载执行。重新加载导出的样式表比加载和编译源代码要快得多(我们测量的DITA-OT样式表为500ms vs 3s);另一个好处是,它允许您保持源代码对最终用户的秘密。
在Saxon 9.7中,我们还能够发布“开发人员主密钥”。如果你安装它,那么导出的样式表将包含一个数字签名的许可证密钥,允许你的最终用户(实际上是任何人)执行样式表,即使他们自己没有Saxon-EE许可证。人们可以对导出的样式表执行的唯一操作就是对源文档执行它;他们无法修改它,也无法使用xsl:include / import / use-package将其合并到更大的样式表中。样式表可以使用任何Saxon-EE功能,例如模式感知,流式传输,Saxon扩展的使用,Java或.NET方法的调用等。(目前的一个例外是字节码生成)
我们目前没有提供开发者主密钥的标准商业产品或价格,但我们很乐意为对该功能感兴趣的用户提出建议。我们认为它在某些情况下是购买再分发许可证的有吸引力的替代方案,这是大多数采用Saxon XSLT功能的应用程序开发人员最终做的事情。