【问题标题】:Saxonica EE as XSLT transformerSaxonica EE 作为 XSLT 转换器
【发布时间】:2021-08-09 04:16:08
【问题描述】:

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

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

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

  3. 任何 java 编程示例,我们都会在所有 xsls 中大量使用 xsl:include,如果有相同用例的示例会很棒。

【问题讨论】:

    标签: xslt saxon


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢你,Michael,我们将联系 saxonica 以获取有关许可的信息。
    【解决方案2】:

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

    关于选择 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 示例: 构建 XSL 样式表文件不需要 Java 知识。如果您选择在 Java 上运行,Java 就会出现,您需要在运行 Saxon XSLT 的机器上设置 Java/SDK。在设置(Java/SDK 和 XSLT)之后,您可以选择从终端调用 XSLT 还是创建将调用 XSLT 的脚本(我在 Linux 中使用 bash 脚本)。

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

    【讨论】:

      猜你喜欢
      • 2021-09-05
      • 1970-01-01
      • 2021-12-29
      • 2021-12-30
      • 2017-10-22
      • 1970-01-01
      • 2015-02-20
      • 2020-03-20
      相关资源
      最近更新 更多