タグ

xpathとdomに関するamachangのブックマーク (5)

  • IE8 で実装された Selectors API とは何か? - IT戦記

    はじめに IE8 には Selectors API という新しい仕様が実装されました。 ということで、今後 DOM 操作 API の主流になるであろう Selectors API についてまとめておきます。 Selectors API が使えるブラウザ 2008 年 3 月 6 日現在の一覧 WebKit Build Archives | WebKit (開発版の Safari) Windows | Official Site for Microsoft Windows 10 Home & Pro OS, laptops, PCs, tablets & more (IE8 の Beta 版) Selectors API とは Selectors API とは W3C で定義された仕様です。詳細に関してはこちらをどうぞ 簡単に説明すると getElementsByTagName や getE

    IE8 で実装された Selectors API とは何か? - IT戦記
    amachang
    amachang 2008/03/06
    id:lesamoureuses IE8ではデフォでFirebug相当のデバッガが使えますよ!/id:vantguarde 追記しました!ありがとうございます!
  • Safari 3 の XPath のバグ: Days on the Moon

    Mac OS X v10.5 Leopard 上では一足早く正式版が公開された Safari 3。JavaScript でのゲッタとセッタのサポートや DOM 3 XPath の実装など、新機能が山盛りです。しかし、Safari 3.0.4 の DOM 3 XPath 実装にはいくつかバグがあるので、それらをここで取り上げてみようと思います。 逆方向軸に関するコンテキスト位置 XPath 1.0 では、式を角括弧で囲んだ述語を用いることで、ノードセットから結果を絞り込んでいくことが可能です。例えば、child::*[position() mod 2 = 0] なら、子要素のうち偶数番目のものだけを選び出すといった具合です。 ここで、position 関数により得られるコンテキスト位置は、元のノードセットを文書順で並べ替えたとき、現在処理中のノードが何番目になるかを示しています。ただし、an

    amachang
    amachang 2007/11/10
    Safari 3.0 から搭載される DOM 3 XPath の実装のバグまとめ。
  • Latest topics > getElementsByなんちゃら の代わりにXPathを使う - outsider reflex

    Latest topics > getElementsByなんちゃら の代わりにXPathを使う 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « 不可逆的な変化に対する感じ方と、死 Main CSS3セレクタとXPathでの表現の対応表 » getElementsByなんちゃら の代わりにXPathを使う - Sep 09, 2007 拡張機能勉強会の時に焚き付けられた、Text Shadowのコード(textshadow.js)を教材にして拡張機能開発のノウハウを解説していくシリーズ。 W3CのDOMでは、要素ノード(およびそのリスト)を得る方法として以下の方法がある。 getElementById(aName) IDをキーにして単一の要素ノー

    amachang
    amachang 2007/09/10
    XPath のしっかりとした説明。resolver の話しとか大文字小文字の罠とか、とにかくしっかりと解説してある。「XPathをばしばし活用しちゃってください。」とのこと。piro++
  • ノードの集合を「ドキュメント順」に高速に並べ替える。その1 - IT戦記

    ドキュメント順とは何か? ドキュメント順とは、簡単に言えば「XML のソース上の前にある順」のこと。 詳しくはこのへんを見てね。 XPath ではこの「ドキュメント順」という概念がよく登場する。 たとえば、ノードを文字列化するときは子孫テキストノードを「ドキュメント順」に文字列として連結しなければならない。とかとか でも、このドキュメント順へのソート 考えただけでもめちゃめちゃ重そうだ・・・。 いろいろ考えてみた。 XPath 実行中はドキュメント順が変わることがないので、DOM アクセスはキャッシュできる。 ノードの集合は木構造で保存したほうが比較回数が少なくてすむ(アルゴリズム初心者なので、実際に早いか検証しないと><) で、今回は DOM アクセスをキャッシュしながらノードを比較する関数を作る 汎用的に作ったので XPath 目的以外でも使えます。 var order = funct

    ノードの集合を「ドキュメント順」に高速に並べ替える。その1 - IT戦記
    amachang
    amachang 2007/09/04
    コメント欄。 element.sourceIndex, node.compareDocumentPosition 「ドキュメント順」を求めるために使えそう。 id:nanto_vi さんありがとうございます!!
  • 文字列のHTMLに対してXPathを使う - SWDYH

    XHRで取ってきた文字列としてのHTMLに対して、XPath使ってデータを取るのがなんとかできた。 Firefox以外では動かないと思うけど、今回はGreasemonkey用なので気にしない。 document.implementation.createDocumentを使ってDocumentをつくる RangeのcreateContextualFragmentを使ってDocumentFragmentをつくる 最初に作ったDocumentにDocumentFragmentを付ける そのDocumentに対してXPathを使う まだ雑だけど、そのへんのコードはこんな感じ。 function load(data) { var v = data.responseText.replace(/<html.*?>/, '') v = v.replace(/<\/html>/, '') var ns =

    文字列のHTMLに対してXPathを使う - SWDYH
    amachang
    amachang 2007/02/08
    createContextualFragment これ xul で使える
  • 1