1

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 --> document.XSLdocument 在 XML 中引用的初始 XSLT 文档

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

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

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

4

1 回答 1

0

Emle - 电子数学实验室设备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);
于 2009-06-22T16:39:45.720 回答