Xslt &引用;展开文本“;不支持<;xsl:text>;

Xslt &引用;展开文本“;不支持<;xsl:text>;,xslt,saxon,xslt-3.0,Xslt,Saxon,Xslt 3.0,我在XSLT3样式表中使用“扩展文本”。下面的w3.org说明说,“如果expand text='yes'属性在作用域中,则文本值模板应应用于xsl:text的文本节点子级” 这在Saxon EE 9.5.1.7中似乎不起作用。例如: <xsl:message expand-text="yes"> {1+1} <xsl:text>{1+1}</xsl:text> </xsl:message> 也就是说,表达式是在外部正确计算的,

我在XSLT3样式表中使用“扩展文本”。下面的w3.org说明说,“如果expand text='yes'属性在作用域中,则文本值模板应应用于xsl:text的文本节点子级”

这在Saxon EE 9.5.1.7中似乎不起作用。例如:

<xsl:message expand-text="yes">
    {1+1}
    <xsl:text>{1+1}</xsl:text>
</xsl:message>
也就是说,表达式是在
外部正确计算的,而不是在它内部

Michael Kay随后回复了上述w3.org注释,并表示“已经应用了更改”,这表明它在Saxon的某个版本中已经修复。有人能证实吗?有什么提示我需要看什么版本吗

谢谢,
Josh.

我刚刚用XSLT 3.0样式表和Saxon 9.6.0.3 EE测试了您的代码,它输出了两次
2
。因此,Saxon版本实现了更改。
使用Saxon 9.6 PE进行的另一项测试也给出了相同的结果。

9.5发布后,规范发生了变化。一般来说,我不在维护版本中实现规范更改,只在主要版本中实现(但当规范更改本身是一个bug修复,或者有时是特别紧急时,也有例外)。注释“变更已应用”指的是我作为规范编辑的角色,意味着已将商定的变更应用于规范;它与Saxon实现无关。
2
{1+1}