タグ

javascriptとxpathに関するTransFreeBSDのブックマーク (9)

  • FirefoxのE4XはXPathより便利? - bits and bytes

    つい最近FirefoxのXMLオブジェクトがすごく便利なのを知りました。そして、そのXMLオブジェクトサポートのことをE4X(ECMAScript for XML)と呼んでいたというのを今知りました.... E4Xについては ECMAScript for XML (E4X) 仕様邦訳 を翻訳された nanto_viさんが書かれている E4X in Firefox が詳しいです。 しょせんはさっきE4Xがなんなのかを知った程度なのでちゃんとしたことは他のページを参照していただくことにして、11.2 左辺式 に書かれているアクセサと選別述語演算子でXPathと同じようなことができて、それがXPath以上に便利なところがありますよ、というはなしだけ書こうと思います。 E4XについてECMAScript for XML (E4X) 仕様邦訳序文には このプログラミング言語拡張は、世界中のもっとも大

  • XPathEvaluator - 素人がプログラミングを勉強していたブログ

    var XPath = { cache: null, reset: function () { this.cache = {__proto__: null}; }, get: function (context, expr, type) { var cache = this.cache, evaluator; if (expr in cache) { evaluator = cache[expr]; } else { evaluator = cache[expr] = XPathEvaluator().createExpression(expr, null); } return evaluator.evaluate(context, type, null); }, has: function (context, expr) { return this.get(context, expr,

    XPathEvaluator - 素人がプログラミングを勉強していたブログ
    TransFreeBSD
    TransFreeBSD 2009/02/26
    いっそXPath(expr[, context]).all([context])がいいな。http://lowreal.net/blog/2007/11/17/1 もあるし自作スクリプトは作った時期により色々なバージョンがあるw
  • HTML と XHTML で同じ XPath を使う: Days on the Moon

    通常、XPath を書くときは //p のようにすることが多いと思いますが、これには名前空間の指定が含まれていないため、XHTML 文書 (MIME タイプが application/xhtml+xml で提供されている文書) では使えません。これに対するアプローチとしては、//h:p のようにあらかじめ XPath 式に名前空間の指定を含めておき、リゾルバによる名前空間接頭辞の解決時に HTML と XHTML とで処理を分けるというのが一般的でした。「XPathNSResolver のクロスブラウザとか」や「document.contentType == "application/xhtml+xml"なページでの$X」で扱っている方法です。 とはいえ、いちいち名前空間接頭辞を指定するのは面倒くさいですし、同じ名前空間に対する接頭辞が人によって違うのも不便です。XPath 式の中で要素名

  • New version of $X - 氾濫原

    コピペメモ 今までの $X は evaluate を二回する問題があってダサいので、使い勝手をそのままにしつつ新しくして使いはじめました。 type 指定を導入 ECMAScript 側で受けとりたい型を指定する。 (Array, String...) XPathResult.BOOLEAN_TYPE とか指定するのはめんどいし覚えられない。 type 指定なしの場合は UNORDERED_NODE_ITERATOR_TYPE をそのまま Array に変換してかえす たぶんこれでも殆どの場合は問題ないと思う ノード集合じゃない (number とか) ならそれぞれそのままかえす (いままでとおなじ) type 指定で Array を指定した場合は ORDERED_NODE_SNAPSHOT_TYPE を Array に変換してかえす UNORDERED なやつで特別問題がある場合つかう

  • Plugins | jQuery Plugins

  • XPath | MDN

    XPath は XML Path Language の略称です。非 XML 構文を使って、柔軟な方法で XML 文書の様々な部分をアドレッシングする(指し示す)ことができます。さらに、文書中で指し示されたノードがパターンに一致するかどうかの判定を行うこともできます。 XPath は主に XSLT で使われていますが、 HTMLSVG のような XML 風の言語の文書の DOM においても XPathExpression を用いることで、 Document.getElementById() や Document.querySelectorAll() メソッドや Node.childNodes プロパティ、その他の DOM コア機能に依存することなく、はるかにパワフルな方法でたどることができます。 XPath は XML 文書の階層構造を辿るために(URL のような)パス表記を使います。

    XPath | MDN
  • Latest topics > CSS3セレクタとXPathでの表現の対応表 - outsider reflex

    Latest topics > CSS3セレクタとXPathでの表現の対応表 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « getElementsByなんちゃら の代わりにXPathを使う Main Mozilla 24 » CSS3セレクタとXPathでの表現の対応表 - Sep 13, 2007 拡張機能勉強会の時に焚き付けられた、Text Shadowのコード(textshadow.js)を教材にして拡張機能開発のノウハウを解説していくシリーズ。 XPathをノードの検索に活用する方法を紹介したけど、肝心のXPathが書けなきゃ意味がないわけで。でもXPathって、ノードセットがどうとかノードテストがどうとか軸がどうとか修飾がどうとか、い

  • XPath - takememo

    RSS中のprefixが付いてない要素をXPathで取得できずに何時間も悩んでしまった。 調べてみるとno titleに解決法があった。 Document.prototype.xpath = function(exp, node) { if (!node) node = this; return this.evaluate(exp, node, resolver, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); }; xml.xpath('//item'); // これはダメ xml.xpath('//*[local-name()="item" and namespace-uri()="http://purl.org/rss/1.0/"]'); // これでOK

  • XPathって速度的にどうなの? - takememo

    id:quaa:20060306#p1を見て、ループを回して要素にアクセスしたときに速度がどうなのか気になったので調べてみた。 スクリプト <html> <body> <script type="text/javascript"> function x(exp, type) { return document.evaluate(exp, document, null, type, null); } var result = {}; Function.prototype.time = function (s) { var func = this; result[s] = [0]; return function() { for (var i = 0; i < 10; i++) { var start = new Date().getTime(); var r = func.apply(thi

  • 1