使用saxon作为引擎转换XML时出现的问题

问题描述 投票:0回答:1
我有一个 xslt,将从

here 获取的 RFC 列表转换为内部格式(也是 xml 格式)。

xslt 代码非常明显,它包含与 xml 文件的前两层匹配的模板。

它曾经工作正常,但在某些时候样式表停止按预期工作,现在撒克逊引擎似乎不再与标签匹配。例如这样的表达式:

<xsl:value-of select="count(//rfc-entry)"

返回 0。但是,类似 
<xsl:value-of select="count(//node()[name() = 'rfc-entry'])"/>
 的东西可以正常工作!

模板如:

<xsl:template match="rfc-entry">

似乎不是由输入文件触发的。

我正在使用 saxon9-HE,并且我已经升级了 JDK,但是 OpenJDK 11 和 OpenJDK 22 中都会出现这种情况,所以我认为这不是 JDK 的问题。

有可能发生的任何线索吗?

xslt pattern-matching saxon rfc
1个回答
0
投票
在 2020 年至今的某个时刻,

rfc-index

 的编辑决定将其文档的命名空间 URI 从 
http://www.rfc-editor.org/rfc-index
 更改为 
https://www.rfc-editor.org/rfc-index
(即将 
http:
 更改为 
https:
)。那是他们的错误,但现在别无选择,只能以相同的方式更改 XSLT 中的名称空间声明,以便它再次起作用。

© www.soinside.com 2019 - 2024. All rights reserved.