Next: Atomic Changes, Previous: Checksum/Hash, Up: Text [Contents][Index]
Emacsがlibxml2サポートつきでコンパイルされたときは、HTMLやXMLのテキストをLispオブジェクトツリーにパースするために以下の関数が利用可能です。
この関数はstartとendの間のテキストをHTMLとしてパースして、HTMLパースツリー(parse tree)を表すリストをリターンする。これは構文誤りにたいして強力に対処することにより、現実世界のHTMLの処理を試みる。
オプション引数base-urlが非nil
なら、それはリンク内に出現する相対URLにたいするベースURLを指定する文字列であること。
オプション引数discard-commentsが非nil
なら、パースツリーはコメントなしで作成される。
パースツリー内では各HTMLノードは1つ目の要素がノード名を表すシンボル、2つ目の要素がノード属性のalist、残りの要素はサブノードであるようなリストにより表される。
以下の例でこれを示す。以下の(不正な)HTMLドキュメントを与えると:
<html><head></head><body width=101><div class=thing>Foo<div>Yes
libxml-parse-html-region
呼び出しにより以下のDOM (document object
model)がリターンされる:
(html nil (head nil) (body ((width . "101")) (div ((class . "thing")) "Foo" (div nil "Yes"))))
この関数はdom内のパース済みHTMLをカレントバッファー内に描画する。引数domはlibxml-parse-html-region
で生成されるようなリストであること。この関数はたとえばEWW in The Emacs Web Wowser Manualにより使用される。
この関数はlibxml-parse-html-region
と同様だが、HTMLではなくXML(構文についてより厳格)としてテキストをパースする点が異なる。
• Document Object Model | DOMにたいするアクセス、操作、検索。 |