タグ

amachangとxpathに関するterurouのブックマーク (9)

  • Firebug に一行追記して右クリックで XPath をコピペ出来るようにする。 - IT戦記

    この XPath 使いたい>< って思うことよくありませんか? サイト見てて、あ、このボタンにグリモンであんな機能やこんな機能付けたい><!って思うこととかありますよね! そんなときに、いちいち要素の位置とか考えずに右クリックで XPath をコピペできたら嬉しいですよね>< ってことで 作ってみた イメージはこんな感じです。 これをクリックすると、右クリックされた要素の XPath がクリップボードにコピーされます。 この機能を Firebug に実装する手順 1. Firefox のプロファイルディレクトリに行く 環境 プロファイルディレクトリ WinVista C:\Users\[ユーザ名]\AppData\Roaming\Mozilla\Firefox\Profiles\[ランダムな文字].default\ WinXP C:\Documents and Settings\[ユーザ名

    Firebug に一行追記して右クリックで XPath をコピペ出来るようにする。 - IT戦記
    terurou
    terurou 2007/11/28
    xpath使う機会がそろそろありそうなので、その時につかう。/こんど、「amachang専用Firebug改」についてまとめるらしい。
  • JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記

    JavaScript-XPath とは JavaScript-XPath は、 DOM 3 XPath を実装していないブラウザに対して、実用的な速度で動作する DOM 3 XPath のエンジンを追加します。 一言で乱暴に言ってしまえば、どのブラウザでも document.evaluate って関数で XPath 使えるようになるよ!ってことです。 以下が公式サイトになります。 http://coderepos.org/share/wiki/JavaScript-XPath DOM 3 XPath ってなんなの!? めっちゃ簡単(で、ちょっとだけ適当)なDOM 3 XPath の説明をします><。 JavaScript でよく使う document.getElementById や document.getElementsByTagName って関数ありますよね? DOM 3 XPath

    JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記
  • HTML 用の XPath 機能テストを書いた - IT戦記

    こんな感じ ここでテストできます(DOM 3 XPath 対応ブラウザでしか動きません) XPath Functional Test テストしてみると Safari 3.0.3 Public Beta はバグが多い Opera と Firefox はかなり優秀 要素名は大文字? あと、特に気になった点として、 name 関数の復帰値が Firefox では大文字となって Opera, Safari は小文字となる。 なので、クロスブラウザ的には以下のように or で繋いであげないといけない。めんどくさいなあ // <p>hoge</p> var result = document.evaluate('//*[name() = "P" or name() = "p"]', document, null, 7, null);

    HTML 用の XPath 機能テストを書いた - IT戦記
    terurou
    terurou 2007/10/09
    Safari 3.0.3 Public Betaの実装状況がちょっと微妙。
  • Firebug で XPath を簡単に試す方法 - IT戦記

    適当に XPath を試したい時に 以下のようにすれば、簡単に XPath をためせます。 document.evaluate( '//div[@class="hoge"]', // XPath 式 document, // 基準となるノード(要素とか null, // 名前空間の解決方法(適当にやるときは null 6, // 取得する形式の指定(適当にやるときは 6 null // 結果を再利用するかどうか(適当にやるときは null ); 簡単ですね。 document.evaluate、式、ドキュメント、ヌル、6、ヌル。 覚えましたか? でも、これを Firebug で実行するとこうなっちゃいます。 うーん。これではどの要素が選択されたかわかりません>< 不便ですねー。 というわけで、以下のブックマークレットを実行してあげてください。 javascript:void(XPathRe

    Firebug で XPath を簡単に試す方法 - IT戦記
    terurou
    terurou 2007/09/05
    「Firebug では length プロパティが数値を持って存在していると、自動で配列っぽい扱いをしてくれます。」
  • XPath のパーサ書いた - IT戦記

    ふー。XPath パーサが出来ましたよ>< わーい。 昨日中に作ろうとは思っていたけど>< もうすぐ朝の 6:00 か。 もう 18 時間くらいはずっとコード書いてたんだなあ。集中してて時間が過ぎるのが一瞬だったよ。 XPath パーサのデモ http://amachang.art-code.org/xpathparser/ このデモでは、テキストボックスに書かれた XPath を動的に解析していきます。 実際に XPath を書き足していくと「うにょうにょ」構文木が構築されていく様子が分かります。 ちょっとおもしろいです。 注意 とりあえず、実装することだけを目標に書いたので、高速化や最適化やリファクタリングなどは一切やっていません。 あと、 パーサを作りながら、いろいろ勉強になって、いろんなことブログにも書きたいんだけど>< でも、今日はもうヘロヘロ&手がプルプル&明日拡張勉強会なので

    XPath のパーサ書いた - IT戦記
  • JavaScript で XPath の構文木を考えてみる。 - IT戦記

    またまた パーサーブームの続編です。 昨日は数式のパーサーを作って、帰り道にいろいろ考えたんですけど、普通の言語で考えると構文木って結構複雑になるんじゃないかなあって思いました。 で、横断歩道で明日 XPath の構文木を考えてみようと思ったわけです。 では、仕様と見比べながら XPath の構文木の構造を考えてみましょう。 仕様読むの大嫌いなんですけど、がんばります。 仕様のリンク xpath cover page - W3C まず、冒頭に The primary syntactic construct in XPath is the expression. An expression matches the production Expr. http://www.w3.org/TR/xpath#section-Introduction とあるので、 XPath 全体は Expr である

    JavaScript で XPath の構文木を考えてみる。 - IT戦記
  • 正規表現の XPath 字句解析その2 - IT戦記

    またまた XPath ネタです。 先日、XPath の字句解析をワンライナーで作ってみた。 - IT戦記で書いた正規表現の XPath 字句解析ですが、よく考えるといろいろおかしかった(不正な文字が無視されたりする)& id:otsune さんからコメントやブクマの突っ込みもありまして、1から正規表現を勉強してから新しく書き直すことにしました。 正規表現の勉強方法 以下の二つの方法で勉強しました。 1.SpiderMonkey の正規表現デバッグオプションを使う SpiderMonkey をビルドするときに、以下のフラグを付けてビルドします。 $ make -f Makefile.ref "DEFINES=-DREGEXP_DEBUG -DDEBUG"こうすると正規表現がどういう風に実行されたかを調べることができます。 こんな感じ $ js js> 'foobar'.match(/o+/)

    正規表現の XPath 字句解析その2 - IT戦記
  • IT戦記 - XPath の字句解析をワンライナーで作ってみた。

    ソースコード var expression = '/html/body/div/[attribute::class="hoge fuga piyo"]'; var tokens = expression.match(/"[^"]*"|'[^']*'|\d+(?:\.\d*)?|\.\d+|\*|\/\/|\/|\||\+|!=|<=|>=|<|>|=|\(|\)|\[|\]|\.\.|\.|@|,|::|-|(?![0-9-:])[\w-]+:\*|\$(?:(?![0-9-:])[\w-]+:)?(?![0-9-:])[\w-]+|(?:(?![0-9-:])[\w-]+:)?(?![0-9-:])[\w-]+|\s+/g); // tokens is ["/", "html", "/", "body", "/", "div", "/", "[", "attribute", "::",

    IT戦記 - XPath の字句解析をワンライナーで作ってみた。
    terurou
    terurou 2007/08/29
    正規表現でXPath。確かにこの正規表現を読む気は起きませんな…。
  • IT戦記 - XPath は実用に耐えうるかの考察と xpath.js

    背景>< Safari 3 系から DOM Level 3 XPath が実装されました!!!キタコレ!!! Firefox 2 系は DOM Level 3 XPath が実装されている。 Opera 9 系は DOM Level 3 XPath が実装されている。 XPath 1.0 in JavaScript • Cameron McCormack's blog (以下、 xpath.js)なるものがあり Internet Explorer 6 および 7 のような DOM Level 3 XPath を実装していないブラウザでもそれ相当の機能を実装することができる ということで、以下のことを試してみたい!! Safari, Firefox, Opera の XPath のパフォーマンスはどうか? xpath.js のパフォーマンスはどうか? xpath.js は XPath 1.0

    IT戦記 - XPath は実用に耐えうるかの考察と xpath.js
  • 1