微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Saxonica EE 作为 XSLT 转换器

如何解决Saxonica EE 作为 XSLT 转换器

我们计划在 Cloud Foundry 上的 Spring Boot 微服务中使用 Saxonica EE(尚未购买),并且我们希望将 XSLT 编译版本以 XML 格式存储在 Redis 缓存中,以便在进行转换时减少耗时,我有下面的问题,你能指导我正确的方向。

  1. 我们如何将具有许可证的 Saxon EE 库部署到云端,需要遵循任何标准做法。

  2. 是否可以得到XML格式的XSLT编译代码,以便我可以存储在Redis缓存中,这种方法是否有意义(如果XSLT有任何变化,我每次都会重新编译)>

  3. 任何 java 编程示例,我们在所有 xsls 中都大量使用 xsl:include,如果有相同用例的任何示例,那就太好了。

解决方法

有关云部署许可的商业问题,超出了 StackOverflow 的范围 - 请直接联系 Saxonica 进行讨论。

Saxon-EE 可以将样式表编译为 SEF 文件,这确实是一种 XML 格式,但我不知道将编译后的样式表存储在 Redis 中是否有意义。

如果您在使用 xsl:include 时遇到问题,我建议您将其作为一个单独的问题提出。关于使用特定功能的一般建议请求不太可能引起有用的响应 - 如果您有特定的技术问题或特定的技术问题,StackOverflow 效果最佳。 (如果您需要一般性建议,我的 XSLT 参考书有大约 4 页关于 xsl:include 的内容,并附有示例)。

,

我建议您首先按照如下所述打好清晰的基本基础:

关于选择Redis进行存储:

如果您将 Redis 用作存储,您通常必须先将(XSLT 处理的)输出序列化为 XML 或 JSON,然后再将其存储到 Redis 中。这也意味着,任何时候您想以更人性化的可读方式访问数据时,都必须反序列化 Redis 字符串。

对您的项目符号问题的回答(与 XSLT 相关):

[1] 云部署:即使您想使用云解决方案,您仍然需要定义要在哪个服务器上安装 Java/SDK 和 Saxon 库 (jar)。关于云解决方案的许可细节,我会参考 Saxonica 公司。

[2] 需要编译: Saxon XSLT 通常不被用户编译(除非有原因)。我怀疑当您在此项目符号中说“已编译”时,您指的是转换过程,使用源 XML、XSLT 进行处理并获得输出 XML。 - 如果是这样,您可以设置所需的输出格式(XML/HTML/XHTML)。每次更改源文件或 XSL 文件中的某些内容时,都需要运行 XSLT 以查看 XML 输出文件中的更改。

[3] 需要 Java 示例:您不需要 Java 知识来构建 XSL 样式表文件。如果您选择在 Java 上运行,您需要在将运行 Saxon XSLT 的机器上设置 Java/SDK。设置(Java/SDK 和 XSLT)后,您可以选择从终端调用 XSLT 或创建将调用 XSLT 的脚本(我在 Linux 中使用 bash 脚本)。

我建议您在解决 Java 环境和 Saxon XSLT 的同时开始使用在线 XSLT 工具。通过这种方式,您可以构建 XSL 文件或测试任何现有的 XSL 文件,以便根据您的需要进行调整。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。