HTMLDocument の動的な作成
2009-10-29


ブラウザ上で、JavaScript を使って HTML のソースから HTML 文書を生成するのに、どんな方法があるのか調べました。なお、以下のスクリプトは HTML 文書上で実行することが前提です。

  1. 表の見方
  2. XSLT の HTML 出力
  3. createHTMLDocument メソッド
  4. createDocument メソッド
  5. createDocument メソッドと名前空間の指定
  6. createDocument メソッドと文書型宣言の指定
  7. createDocument メソッドと文書型宣言及び名前空間の指定
  8. cloneNode メソッド
  9. iframe 要素
  10. ActiveXObject[LINK]
  11. CID からの作成
  12. まとめ

表の見方

以下の表において、各項目の意味は次の通りです。

doc
HTML 文書を作成できれば○、XML 文書を作成できれば△、それ以外なら×です。HTML 文書かどうかは、createElement メソッドが HTML 要素を作成するかどうかで判断しています。
doc.title
文書ノードの title プロパティから title 要素の内容を取得できれば○、できなければ×です。
doc.body
文書ノードの body プロパティから body 要素を取得できれば○、できなければ×です。
名前空間なし XPath
//p のような名前空間接頭辞の付かない XPath 式で HTML 要素を取得できれば○、できなければ×です。
名前空間付き XPath
//h:p のような名前空間接頭辞の付いた XPath 式で HTML 要素を取得できれば○、できなければ×です。ここで、接頭辞 h は名前空間 URI http://www.w3.org/1999/xhtml に関連付けられているものとします。
innerHTML
innerHTML プロパティに <p>hello&nbsp;world のような、整形式 XML ではなく、かつ HTML の実体参照を含んだ文字列を設定して、エラーが出なければ○、エラーになれば×です。
スクリプト
script 要素で指定されたスクリプトが実行されれば○、されなければ×です。

また、使用したブラウザは次の通りです。いずれも Windows 版です。

調査には次のファイルを使いました。

XSLT の HTML 出力


続きを読む

[JavaScript]
[Web 関連技術]

コメント(全2件)
コメントをする


記事を書く
powered by ASAHIネット