0

社内のほぼすべてのサーバーから出力される標準の xml 形式がありますが、これは言うまでもなく、かなり厄介なものです。関連情報を簡単に取得できる xslt スタイル シートがありますが、多くの要因により、xml 内にリンクされたスタイルシートを展開するのは現実的ではありません。URLパターンに一致するページで変換を実行するために、クロム拡張に取り組んでいます。

私の問題は、xml ドキュメントを chrome でロードすると、ブラウザが役に立ち、きれいな html 形式に変換しようとすることです。コンテンツ スクリプトからソース xml にアクセスできない限り、xslt を適用できません。URL から元のソースを取得しようとしましたが、拡張機能のアクセス許可に問題がありました。

私の他の唯一のアイデアは、jquery を使用して HTML から手動で解析することですが、それは少し面倒に見えます。必要なすべてを実行する有効な xsl が既にあります。

ソース xml を変換するためのより良い方法はありますか?

4

1 に答える 1

1

処理命令を挿入できない場合は、JavaScriptを使用して変換をトリガーできます。

function loadXML(fileName,mime) {
  var xmlHttpRequest = new XMLHttpRequest();
  xmlHttpRequest.open("GET",fileName,false);
  if(mime) xmlHttpRequest.overrideMimeType(mime);
  xmlHttpRequest.send("");
  return xmlHttpRequest.responseXML;
}

function transformDocument(url) {
  var xsltProcessor = new XSLTProcessor();
  xsltProcessor.importStylesheet(loadXML('test.xsl','application/xslt+xml'));
  return xsltProcessor.transformToDocument(loadXML(url),document);
}

transformDocument()表示できるHTML要素を返します。いくつかのオプションがあります。

  • iframeに入れます。
  • 現在のドキュメントを変換されたドキュメントに置き換えます(たとえば、頭と体を置き換えることによって)
  • 変換されたドキュメントからいくつかのdivを取得し、現在のドキュメントに挿入します。
  • データURLとして開きます。
  • ..。
于 2013-01-17T17:40:53.503 に答える