Firefox 3 和 XML/XSLT

发布于 2024-07-23 12:54:10 字数 900 浏览 4 评论 0原文

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 文档。

有人能指出我正确的方向吗? 谢谢。

Firefox 3 and XML/XSLT

I am relatively new to developing web apps with client-side processing in Firefox. I have a few straight-forward questions regarding the use of XML/XSLT in Firefox.
I send an initial XML document with an XSLT reference to the browser. The browser successfully transforms the XML to XHTML using the referenced XSLT stylesheet.

This works well in both Internet Explorer 6+ and Firefox 3+.
Now I must make changes to the XML document and XSLT stylesheet in JavaScript then retransform the XML to HTML. I am not looking at creating an XML document or getting one from an AJAX HTTPRequest. I am only concerned with the original XML document sent to the browser.

With IE, this is clear. In Firefox I am having difficulties probably due to lack of documentation. To perform a new transformation in JavaScript you need two objects and one operation:

Object/Operation --> In Internet Explorer 6+ JavaScript

The initial XML document sent to the browser-->document.XMLdocument

The initial XSLT document referenced in the XML via xml-stylesheet --> document.XSLdocument

Transforming XML with XSLT to get new HTML output -->
document.XMLdocument.documentElement.transformNode(document.XSLdocument)

What I am looking for is the equivalent to these 3 notions in the Firefox 3 DOM. I have done a pretty exhaustive search on the web and came up with ways to do XML manipulation but not with the initial XML and XSL documents.

Can anyone point me in the right direction? Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小苏打饼 2024-07-30 12:54:11

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);

Emle - Electronic Mathematics Laboratory Equipment Javascript file emle_lab.js uses parseFromString() to create a document from a string:

  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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文