内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
•
file
•
snappy
•
bookmarklet
•
docker-compose
javascript:xslt
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== JavaScriptでXSLT処理 ====== いくつかのブラウザではJavaScriptでXSLTを使う事ができます。XMLHttpRequestで取得したレスポンスXMLデータをXSLTを用いてHTMLに変換するコードを紹介します。 ===== IE6以降 ===== ActiveXのXMLDOMオブジェクトを使用してXSLTファイルを取得し、responseXMLに対して適用します。 <code javascript> var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.onreadystatechange = readystatechange; xmlhttp.open("GET", "hoge.xml", true); xmlhttp.send(null); function readystatechange(){ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var xml = xmlhttp.responseXML; var xslt = new ActiveXObject("Microsoft.XMLDOM"); xslt.async = false; xslt.load("hoge.xsl"); var text = xml.transformNode(xslt); document.all("target").innerHTML = text; } } </code> XSLTによって生成したHTMLは普通の文字列であるため、innerHTMLプロパティを使ってHTMLに埋め込むことができます。 ===== Firefox ===== XSLTProsessorオブジェクトを使います。 <code javascript> var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = readystatechange; xmlhttp.open("GET", "hoge.xml", true); xmlhttp.send(null); function readystatechange(){ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var xml = xmlhttp.responseXML; var xslt = new XSLTProcessor(); var xsltDoc = document.implementation.createDocument("", "", null); xsltDoc.async = false; xsltDoc.load("hoge.xsl") xslt.importStylesheet(xsltDoc); var fragment = document.implementation.createDocument("", "", null); var doc = xslt.transformToFragment(xml, fragment); var target = document.getElementById("target") while (target.hasChildNodes()) { target.removeChild(target.lastChild); } target.appendChild(doc); } } </code> Firefoxでは、XSLTによって生成したHTMLはDOMオブジェクトとなっているのでappendChildメソッドでセットできます。XSLTのロードもXMLHttpRequest同様にクロスドメインの制限を受けるため、XSLファイルも同一ドメインに設置しなくてはなりません。 * [[http://dev.paulownia.jp/sample/xslt/index.html|Firefox版サンプルページ]]
javascript/xslt.txt
· 最終更新:
2016/09/22 10:39
by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ