gpt4 book ai didi

XSLT3 可以在与 expand-text=yes 相同的模板中使用禁用输出转义吗?

转载 作者:行者123 更新时间:2023-12-04 15:38:23 25 4
gpt4 key购买 nike

我注意到在 Saxon 的 XSLT3 中尝试使用禁用输出转义时,如果在样式表或什至在给定的匹配模板上将扩展文本设置为 yes,它将不起作用

以下代码(在其自身上运行时)显示了该问题(在 Saxon 9.8.0.12 中)。
我知道这是一个不寻常的组合,并且通常不惜一切代价避免禁用输出转义,而只是试图确定正确的行为。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">

<xsl:template match="/">
<out>
<xsl:apply-templates/>
</out>
</xsl:template>
<xsl:template match="xsl:stylesheet" expand-text="true">
<expandtext>
<count>{count(*)}</count>
<xsl:text disable-output-escaping="true">&lt;test/&gt;</xsl:text>
</expandtext>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="xsl:template" expand-text="false">
<notexpandtext>
<count>{count(*)}</count>
<xsl:text disable-output-escaping="true">&lt;test/&gt;</xsl:text>
</notexpandtext>
</xsl:template>
</xsl:stylesheet>

产生
<?xml version="1.0" encoding="UTF-8"?>
<out>
<expandtext><count>3</count>&lt;test/&gt;</expandtext>
<notexpandtext><count>{count(*)}</count><test/></notexpandtext>
<notexpandtext><count>{count(*)}</count><test/></notexpandtext>
<notexpandtext><count>{count(*)}</count><test/></notexpandtext>
</out>

最佳答案

确实这里有一个错误,我已经登录

https://saxonica.plan.io/issues/4412

xsl:text expand-text="yes"范围内的指令在内部实现为一种不同于“普通老式”的表达式 xsl:text元素,而新表达式忽略了支持 d-o-e 的必要性。

我添加了一个测试用例 disable-output-escaping/doe-0201https://github.com/w3c/xslt30-test 的 XSLT 3.0 测试套件

关于XSLT3 可以在与 expand-text=yes 相同的模板中使用禁用输出转义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59380254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com