【问题标题】:Firefox 3 and XML/XSLTFirefox 3 和 XML/XSLT
【发布时间】:2010-10-30 17:20:09
【问题描述】:

Firefox 3 和 XML/XSLT

我对在 Firefox 中使用客户端处理开发 Web 应用程序比较陌生。关于在 Firefox 中使用 XML/XSLT,我有几个直截了当的问题。 我将带有 XSLT 引用的初始 XML 文档发送到浏览器。浏览器使用引用的 XSLT 样式表成功地将 XML 转换为 XHTML。

这适用于 Internet Explorer 6+ 和 Firefox 3+。 现在我必须在 JavaScript 中更改 XML 文档和 XSLT 样式表,然后将 XML 重新转换为 HTML。我不打算创建 XML 文档或从 ​​AJAX HTTPRequest 获取文档。我只关心发送到浏览器的原始 XML 文档。

使用 IE,这一点很清楚。在 Firefox 中,我遇到困难可能是由于缺乏文档。要在 JavaScript 中执行新的转换,您需要两个对象和一个操作:

对象/操作 --> 在 Internet Explorer 6+ JavaScript 中

发送到浏览器的初始 XML 文档-->document.XMLdocument

通过 xml-stylesheet 在 XML 中引用的初始 XSLT 文档 --> document.XSLdocument

使用 XSLT 转换 XML 以获得新的 HTML 输出 -->
document.XMLdocument.documentElement.transformNode(document.XSLdocument)

我正在寻找与 Firefox 3 DOM 中的这 3 个概念等效的内容。我在网上进行了相当详尽的搜索,并想出了一些方法来进行 XML 操作,但不是最初的 XML 和 XSL 文档。

谁能指出我正确的方向?谢谢。

【问题讨论】:

    标签: xml xslt firefox-3


    【解决方案1】:

    Emle - Electronic Mathematics Laboratory Equipment Javascript 文件 emle_lab.js 使用 parseFromString() 从字符串创建文档:

      var inputText = '<?xml version="1.0" encoding="UTF-8"?>' +
        '<emle xmlns="http://emle.sf.net/emle02">' +
        '  <lab refid="' + aLabId + '"></lab>' +
        '</emle>';
      var inputDoc = new DOMParser().parseFromString(inputText, "application/xml"); 
      var xsltDoc = emleHttpGetXML('emle_lab.xsl'); 
      var processor = new XSLTProcessor();
      processor.setParameter(null, 'emleLang',  aLang);
      processor.importStylesheet(xsltDoc);
      var outputDoc = processor.transformToDocument(inputDoc.firstChild);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 2010-11-21
      相关资源
      最近更新 更多