2003年11月16日(日)更新 |
■XPathとXSLTの関数
たけち: ここからは、XPathやXLSTで定義されている関数について学ぼうね。 さらら: それって、何に使うの? たけち: たとえばXSLTスタイルシートのxsl:value-ofのselect属性でテキストを生成したりするのに使ったりするんだ。これまでの例でいくつかはもう使っているんだよ。concatって見たことあるよね。 さらら: あっ、そう言われれば。。。そうなんだぁ〜。 たけち: それらの関数は、たとえばselect属性で選択するノードを指定したり、文字列を生成したりするときに便利なように考えられているんだよ。 さらら: うんうん。 |
たけち: 今回は、まずどんな関数があるのかだけを見ておくね。細かいことはあとで少しずつ勉強するから、いまは眺めるだけでいいよ。 さらら: はい。(眺めるだけなら。。。(^ ^* ) たけち: 表にまとめておくね。 |
【ノード集合関数】 |
関数名 | 概要 | XPath | XSLT |
---|---|---|---|
count | ノード集合のノードの数を得る | ○ | |
current | カレントノードを得る | ○ | |
document | 外部ドキュメントのノードセットを得る | ○ | |
generate-id | ノードを一意に識別する文字列を得る | ○ | |
id | 指定したID属性を持つノード集合を得る | ○ | |
key | 指定したキーの値を持つノード集合を得る | ○ | |
last | 文脈サイズの値を得る | ○ | |
local-name | ノードの名前のローカル部分を得る | ○ | |
name | ノードの展開された名前(QNAME)を得る | ○ | |
namespace-uri | ノードの名前の名前空間URIを得る | ○ | |
position | 文脈の位置を得る | ○ | |
unparsed-entity-uri | 指定した名前の解析対象外実体のURIを得る | ○ |
【文字列関数】 |
関数名 | 概要 | XPath | XSLT |
---|---|---|---|
concat | 複数の文字列を連結した文字列を得る | ○ | |
contains | 指定した文字列を含んでいるかどうかを論理値で得る | ○ | |
format-number | 数値を数字文字列に変換する | ○ | |
normalize-space | 文字列の空白を正規化する | ○ | |
starts-with | 文字列が指定した文字列ではじまっているかどうかを論理値で得る | ○ | |
string | 指定したデータを文字列に変換する | ○ | |
string-length | 文字列の長さを得る | ○ | |
substring | 文字列中の指定した文字列を得る | ○ | |
substring-after | 文字列中の指定したサプストリングの後ろにある文字列を得る | ○ | |
string-before | 文字列中の指定したサプストリングの前にある文字列を得る | ○ | |
translate | 文字列中の指定した文字列を別の文字列に置き換える | ○ |
【論理値関数】 |
関数名 | 概要 | XPath | XSLT |
---|---|---|---|
boolean | 指定したデータを論理値に変換する | ○ | |
false | 論理値のfalse(偽)を得る | ○ | |
lang | 文脈ノードの言語を得る | ○ | |
not | 論理値の否定値を得る | ○ | |
true | 論理値のtrue(真)を得る | ○ |
【数値関数】 |
関数名 | 概要 | XPath | XSLT |
---|---|---|---|
ceiling | 小数点以下を切り上げた整数を得る | ○ | |
floor | 小数点以下を切り捨てた整数を得る | ○ | |
number | 指定したデータを数値に変換する | ○ | |
round | 四捨五入した整数を得る | ○ | |
sum | ノード集合内の一連の数値の合計値を得る | ○ |
【その他の関数】 |
関数名 | 概要 | XPath | XSLT |
---|---|---|---|
element-available | 指定した名前の拡張要素があるかどうかを示す値を得る | ○ | |
function-available | 指定した名前の拡張関数があるかどうかを示す値を得る | ○ | |
system-property | システム環境に関する情報を得る | ○ |
さらら: わぁ、意外とたくさんあるのね。こんなに覚えなくちゃいけないの? たけち: ううん。全部を覚える必要はないんだよ。次回からは、よく使われる関数について少ししずつサンプルを作って勉強してみようと思うんだけど、どう? さらら: えぇ。。。。 (^ ^; 少しずつね。 たけち: じゃあ、今回は簡単だけどこれでおしまい。まずはノード集合関数から始めよう。 さらら: は〜い!! (^ ^* →次回は、count関数について学びます (^ ^; |