加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – disable-output-escaping =“yes”在try / catch中失败

发布时间:2020-12-16 22:41:19 所属栏目:百科 来源:网络整理
导读:可能是撒克逊人的一个错误,但只是想澄清一下 – xsl:value-of select="unparsed-text('http://something/test.txt')" disable-output-escaping="yes"/ 结果 – divtest/div 现在尝试 – xsl:try xsl:value-of select="unparsed-text('http://something/test.
可能是撒克逊人的一个错误,但只是想澄清一下 –

<xsl:value-of select="unparsed-text('http://something/test.txt')" 
    disable-output-escaping="yes"/>

结果 –

<div>test</div>

现在尝试 –

<xsl:try>
 <xsl:value-of select="unparsed-text('http://something/test.txt')" 
    disable-output-escaping="yes"/>
<xsl:catch></xsl:catch>
</xsl:try>

结果-

&lt;div&gt;test&lt;/div&gt;

有关为什么会发生这种情况的任何想法?

解决方法

有趣的一个.只有在将输出直接从变换器写入串行器时(即,有效地绕过结构树的构造时),禁用输出转义才有效.在xsl:try中,输出不能直接写入序列化程序,因为在发生动态错误时可能需要“回滚”它;因此它被有效地写入一个隐藏的内部变量,当其知道没有发生故障时,其内容仅被发送到序列化器.由于disable-output-escaping是非常多的实现定义,因此这种行为并非不符合要求,但至少可以合理地预期它会被记录下来.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读