You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用浏览器XslProcessor对象时,xsl:message terminate=true无法返回错误消息的问题咨询

使用浏览器XslProcessor对象时,xsl:message terminate=true无法返回错误消息的问题咨询

我现在遇到一个XSLT处理的问题,先把我的代码和使用场景说明一下:

首先是我使用的XML输入内容:

<?xml version="1.0" encoding="utf-8"?>
<songList/>

对应的XSLT样式表代码:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
    <out>ROOT found</out>   
    <xsl:message terminate="yes"><xsl:value-of select="'Test message - ZZZ'"/></xsl:message>
</xsl:template>
</xsl:stylesheet>

我有一个HTML页面调用这个处理逻辑,当我把terminate="no"或者直接删掉这一行时,结果是符合预期的:

<out>ROOT found</out> 

调用的JS代码参考了MDN上的示例,大致是这样的:

try{
    resultDoc = processor.transformToFragment(xmlDoc, document);
} catch (err) {
    console.log('err=' + err);
    return false;
}   

现在我的问题是:我用的是Firefox(基于Gecko引擎),查资料显示Gecko支持xsl:message,但实际使用下来感觉支持得很有限——当设置terminate="yes"时,处理确实会终止,但catch块里的err是空的,完全拿不到xsl:message里定义的消息内容。我在console.log('err=' + err);这行打了断点,能触发这个断点,但错误信息就是没有内容。

我是不是哪里操作错了?有没有办法能获取到xsl:message里的消息内容呢?

备注:内容来源于stack exchange,提问作者walbury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 03:18:22