我有一个 XSLT,我正在通过该xdmp:invoke()
函数执行,并且我遇到了很长的处理时间才能看到任何结果(在某些情况下,在达到 3600 秒的最大时间后完全超时)。这个 XSLT 在 Oxygen 编辑器中运行大约需要 5 秒。我认为可能会影响性能的一些领域:
- XSLT 使用
xsl:result-document
. MarkLogic XSLT 处理器将这些作为结果 XML 节点输出,因为它无法将这些文档物理地保存到文件系统中。 - XSLT 构建包含 xml 节点的变量,然后由其他模板调用处理这些变量。有时,这些变量可以包含大量 XML 节点。
我已经对 XSLT 进行了一些分析,似乎构建变量似乎是执行过程中最耗时的部分。我想知道为什么会这样,为什么它在撒克逊处理器上运行得更快?
非常感谢任何见解。