XPathの一般的な構文は?
一般的に使用されるXPath文法には、以下のようなものがあります。
- ノードの選択: ノード名を使用してノードを選択します例:/bookはルートノード以下のすべてのbookノードを選択します。
- パス選択:パスを使ってノードを選択します。例えば、/bookstore/bookは、ルートノード以下のbookstoreノード以下のすべてのbookノードを選択しています。
- 属性指定:ノードの属性を選択するには @ シンボルを使用します。例えば、/bookstore/book[@category=‘fiction’] は、ルートノード以下の bookstore ノードのうち、category 属性の値が fiction の book ノードをすべて選択します。
- テキスト選択は、text() 関数を使用してノードのテキスト内容を選択します。たとえば、/bookstore/book/title/text() は、ルートノードの直下の bookstore ノード内のすべての book ノード内の title ノードのテキスト内容を選択します。
- 位置の指定: ノードの位置は中かっこ[]で指定します。例: /bookstore/book[1] は、ルートノード以下の bookstore ノードから最初の book ノードを選択することを意味します。
- ワイルドカード選択: /bookstore/のように任意のノードを選択するために使用され、ルートルートにあるすべてのbookstoreノードの子ノードが選択されます。
- 軸指定:軸名を使ってノードを選択する、例:/bookstore/ancestor::bookはルートノードの下にあるbookstoreノードのすべての祖先ノードにあるbookノードを選択する。
- 条件式は、論理演算子(and、or、not)と比較演算子(=、!=、<、>、<=、>=)を使用してノードの条件式を判断します。例:/bookstore/book[price>35] は、ルートノードの下にあるbookstoreノードの下にある、価格が35より大きいすべてのbookノードを選択することを表します。
- 関数利用:真の内蔵関数を用いてノードや属性を処理します。例:count(/bookstore/book)は、ルートノード配下のbookstoreノード配下のbookノードの数を数えます。