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 で新しい変換を実行するには、2 つのオブジェクトと 1 つの操作が必要です。

オブジェクト/操作 --> Internet Explorer 6+ JavaScript の場合

ブラウザに送信される最初の XML ドキュメント -->document.XMLdocument

xml-stylesheet --> document.XSLdocument を介して XML で参照される最初の XSLT ドキュメント

XML を XSLT で変換して新しい HTML 出力を取得 -->
document.XMLdocument.documentElement.transformNode(document.XSLdocument)

私が探しているのは、Firefox 3 DOM のこれら 3 つの概念に相当するものです。私は Web でかなり徹底的な検索を行い、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 に答える