我正在开发一个使用XSL转换的火狐扩展。我
在我需要做一个
从XSL样式表中包含。当我导入XSL样式表时
如果使用xsl:include,firefox会给出一个错误:
错误:组件返回失败
代码:0x80600001
[nsixsltprocessor.importStylesheet]。=
源文件:
chrome://myextension/content/functions.js版
线:632
这只在运行代码时发生
来自火狐扩展
,如果
我在“普通”HTML页面中运行它,代码工作得很好。我也尝试过
使用xsl:import得到相同的结果。我也尝试过绝对uris
chrome:\\myextension\content\xsl\test2.xsl
得到同样的错误。
有人知道我做错了什么吗?提前谢谢
下面是复制代码(所有文件都在同一文件夹中):
文件
JS函数
:
function testXSL(){
var processor = new XSLTProcessor();
var xsl = document.implementation.createDocument("", "test", null);
xsl.addEventListener("load", onXSLLoaded, false);
xsl.load("test1.xsl");
function onXSLLoaded() {
processor.importStylesheet(xsl);
}
}
文件
测试1.xsl
:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:include href="test2.xsl" />
</xsl:stylesheet>
文件
测试2.xSL
:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:template match="/">
<h1>Included!!</h1>
</xsl:template>
</xsl:stylesheet>