- [1] XML Path Language ([[XML]] 経路言語)。「 - [2] XML 文書の一部分を[[番地付け]]する言語。 - [3] >>2 のようにいうとよく分からないきもするけど、何のことはない、 XML の[[要素]]とか (或いはその集合) を、 [[http:]] [[URI]] や[[ファイル・システム]]の[[経路]]指定のような感じで指定する書き方のこと。 (ただし、単一ファイルの経路指定よりもっと色んな指定が出来る。) - [4] [[XSLT]] (1.0) と [[XPointer]] (1.0) で使うことを想定して規定された。 - [5] 他には、例えば [[DOM]] の [[M$]] 独自拡張で[[ノード]]の選択に使うことが出来る。 - [6] 実装が微妙に面倒な気がするけど、使う側からするととっても便利。 - [7] [[CSS]] の[[選択子]]としても使えたらなあと思う。 CSS の選択子は単純だけど記号で修飾する方法だからこれ以上ほとんど拡張は見込めないし、拡張しても複雑化していくだけ。だからこれ以上の複雑な指定は XPath で、とかしてほしいなーとか。 - [8] XPath 仕様書で定義されてる核関数群に加えて、各応用仕様は追加の[[関数]]を定義できます。関数名は [[QName]] です。 (ただし幾つかの予約名は使えませんし、もちろん核関数の名前は使えません。) - [9] そして実際 [[XSLT]] や [[XPointer]] は追加の関数を定義しています。それはいいのですが、折角 [CODE(XML)[QName]] なのに、[[名前空間接頭辞]]の付かない名前なんです。なんだかなあ。 - [10] [[W3C]] の仕様だから、あるいは元々 [[XPath]] が使われるのを想定していた仕様だから、こういうのもありなんでしょうか。なんだかなあ。これじゃあ結局、分けて定義した意味が無いのじゃないかと思うんです。 - [11] ちなみに XSLT の実装も追加の関数を定義していますが、独自の[[名前空間]]の関数として定義しています。 - [12] >>5 [[DOM]]3 で標準化される見込み - [13] ''XML Path Language (XPath)'' - [14] ''XML Path Language (XPath) 2.0'' - [15] ''標準情報(TR) TR X 0089:2003'' : XPath 1.0 の [[JIS-TR]]。例によってひどいもんだが、訳語の参考程度に。 [16] [CITE[Ted's Mozilla page - Extension Developer's Extension]] ([[名無しさん]]) [17] [CITE[d:id:quaa]] ([CODE[2007-07-24 01:31:19 +09:00]] 版) ([[名無しさん]] [WEAK[2007-07-27 14:18:14 +00:00]]) [18] [CITE[Bug 319768 – Implement XPath generator]] ([CODE[2007-07-28 00:00:39 +09:00]] 版) ([[名無しさん]]) [19] [CITE@en[DOM:XPath Generator - MozillaWiki]] ([CODE[2006-10-27 07:35:52 +09:00]] 版) ([[名無しさん]]) [20] [CITE[IT戦記 - XPath のパーサ書いた]] ([CODE[2007-09-04 22:12:32 +09:00]] 版) ([[名無しさん]]) [21] [CITE[IT戦記 - Firebug で XPath を簡単に試す方法]] ([CODE[2007-09-04 22:12:32 +09:00]] 版) ([[名無しさん]]) [22] [[XCAP]] の[[節点選択子]]は、ほぼ [[XPath]] の[[部分集合]]です。 ;; 微妙に違います。 ([[名無しさん]])