土壌汚染問題を解決するフィールド・パートナーズがPlatio Connectを導入 労働安全衛生法に基づく点検業務のアプリ化で年間1,800時間の労働時間を削減
土壌汚染問題を解決するフィールド・パートナーズがPlatio Connectを導入 労働安全衛生法に基づく点検業務のアプリ化で年間1,800時間の労働時間を削減
飽きる前にそれなりに形になったのでリリースしておきます Python 2.5*とBeautifulSoup 3.0.7* or 3.1.0*の環境でとりあえず動くXPathEvaluatorです。 アーカイブファイル(ZIP):BSXPath.py: XPathEvaluator Extension for BeautifulSoup 上記ファイル(BSXPath.py)を使ったサンプルはこちら 【2009/04/05追記】 BSXPath.pyを使ったサービスを公開しました。 任意のサイトのフィードパターンを作成・共用できるサービス 使い方 from BSXPath import BSXPathEvaluator,XPathResult #*** 準備 document = BSXPathEvaluator(<html>) # html: HTMLテキスト # ※BSXPathEvalu
つい最近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) 仕様邦訳序文には このプログラミング言語拡張は、世界中のもっとも大
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,
通常、XPath を書くときは //p のようにすることが多いと思いますが、これには名前空間の指定が含まれていないため、XHTML 文書 (MIME タイプが application/xhtml+xml で提供されている文書) では使えません。これに対するアプローチとしては、//h:p のようにあらかじめ XPath 式に名前空間の指定を含めておき、リゾルバによる名前空間接頭辞の解決時に HTML と XHTML とで処理を分けるというのが一般的でした。「XPathNSResolver のクロスブラウザとか」や「document.contentType == "application/xhtml+xml"なページでの$X」で扱っている方法です。 とはいえ、いちいち名前空間接頭辞を指定するのは面倒くさいですし、同じ名前空間に対する接頭辞が人によって違うのも不便です。XPath 式の中で要素名
コピペメモ 今までの $X は evaluate を二回する問題があってダサいので、使い勝手をそのままにしつつ新しくして使いはじめました。 type 指定を導入 ECMAScript 側で受けとりたい型を指定する。 (Array, String...) XPathResult.BOOLEAN_TYPE とか指定するのはめんどいし覚えられない。 type 指定なしの場合は UNORDERED_NODE_ITERATOR_TYPE をそのまま Array に変換してかえす たぶんこれでも殆どの場合は問題ないと思う ノード集合じゃない (number とか) ならそれぞれそのままかえす (いままでとおなじ) type 指定で Array を指定した場合は ORDERED_NODE_SNAPSHOT_TYPE を Array に変換してかえす UNORDERED なやつで特別問題がある場合つかう
XPath は XML Path Language の略称です。非 XML 構文を使って、柔軟な方法で XML 文書の様々な部分をアドレッシングする(指し示す)ことができます。さらに、文書中で指し示されたノードがパターンに一致するかどうかの判定を行うこともできます。 XPath は主に XSLT で使われていますが、 HTML や SVG のような XML 風の言語の文書の DOM においても XPathExpression を用いることで、 Document.getElementById() や Document.querySelectorAll() メソッドや Node.childNodes プロパティ、その他の DOM コア機能に依存することなく、はるかにパワフルな方法でたどることができます。 XPath は XML 文書の階層構造を辿るために(URL のような)パス表記を使います。
ただいま6月7日以降に新しく作成したグラフが更新されない不具合を確認しています。原因調査中ですが、マッシュアップ先のはてなグラフの影響の可能性もあり解決までしばらく掛かるかもしれません。ご不便をお掛けしまして申し訳ございません。作成済みのグラフに関しては問題なく更新されています。また登録についても(更新はされないものの)可能です。 XPathからグラフを生成。 XPathGraphはウェブサイト上にある数値を定期的に取得し、自動的にグラフを作成するサービスです。取得したい数値を含むノードをXPathで指定すると、その日に巡回した結果をグラフに追加していきます。[詳しく] 例えば こんなグラフを作成出来ます 為替 no description 2008年11月12日 18:28 怖い絵2Amazonランキング no description 2008年12月18日 20:09 microSDH
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を書いたときに、そのXPathがうまくマッチしてくれるかどうかを調べるのは少し面倒です。FirefoxにFirebug(いつの間にか日本語のページが…)が入っていればコマンドラインで$xを使って $x( '//span/ancestor::div[last()]' ) というように調べられますが、HTMLファイルにして読み込ませないといけないのと、Firefoxが勝手にtableとtrの間にtbodyを補完してしまうので //table/tr/td[last()] みたいなXPathはマッチしなくて不便です。 いままでperlのHTML::TreeBuilder::XPathを使って #!/usr/bin/perl use strict; use warnings; use HTML::TreeBuilder::XPath; my $tree = HTML::TreeBuilde
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
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
XPath 3.0 (renamed from XPath 2.1 to align with the family of "3.0" specifications) is an expression language that allows the processing of values conforming to the data model defined in [XQuery and XPath Data Model (XDM) 3.0]. Some of the important new features since XPath 2.0 are: Literal function items, inline functions, dynamic function invocations, and function item coercion Clarification of
last(), number position(), number count(node-set), number id(obj), number local-name(node-set = self::node()), string namespace-uri(node-set = self::node()), string name(node-set = self::node()), string string(object = self::node()), string concat(string, string, string*), string starts-with(string, string), boolean contains(string, string), boolean substring-before(string, string), string substri
先日公開しました はてなブックマークを拡張するW!ボタンですが、想像していたよりも反響があり驚きました。ありがとうございました。 さて、今回はそのW!ボタンの開発に利用したテクニックの一部と参考文献を紹介します。 W!ボタンの開発には以下が役に立ちました。 JavaScript Shell return文で強制的に制御を返すテクニック The data: URI kitchen Live HTTP Headers Greasemonkey Hacks JavaScript Shell JavaScript Shellを利用することで 正規表現 DOM XPath などを手軽に試行錯誤できる環境が得られます。この中でもXPathの作成をJavaScript Shellで行うのが特に有効だと感じました。というのも、JavaScript Shellはシェルで入力されたJavaScriptのコード
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く