代码之家  ›  专栏  ›  技术社区  ›  amercader

xsl:include不使用火狐扩展

  •  1
  • amercader  · 技术社区  · 14 年前

    我正在开发一个使用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>
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Baztoune Uchenna    14 年前

    这似乎是一个火狐回归错误。我发现 this one on Mozilla bugzilla . 恐怕没人能在这里帮你,除非这个虫子被修补了,而且闻起来也不好闻……2年前开放,6个月后没有更新。