XSLT 1.0 functions
category | description |
---|---|
[String] | 文字列 |
[Number] | 数値 |
[Boolean] | 論理値 |
[Node] | ノード |
[XSLT] | その他 |
String
文字列
function | description |
---|---|
[string] | 文字列への変換 |
[concat] | 連結 |
[starts-with] | 先頭文字列判断 |
[contains] | 指定文字が含まれるか |
[substring-before] | 部分文字列 |
[substring-after] | 部分文字列 |
[substring] | 部分文字列 |
[string-length] | 文字数 |
[normalize-space] | 空白除去 |
[translate] | 置換 |
string
オブジェクトをstring
型に変換します。
string string(object)
// string(3.14) ⇒ '3.14'
concat
文字列を連結します。
string concat(string, ...)
// concat('x', 'y', 'z') ⇒ 'xyz'
starts-with
指定した文字列で始まっているか判断します。
boolean starts-with(string, string)
// starts-with('xyz', 'xy') ⇒ true
// starts-with('xyz', 'z') ⇒ false
contains
指定した文字列が存在するか判断します。
boolean contains(string, string)
// contains('xyz', 'z') ⇒ true
substring-before
指定した文字列より前の文字列を取得します。
string substring-before(string, string)
// substring-before('1999/12/31', '/') ⇒ '1999'
substring-after
指定した文字列より後の文字列を取得します。
string substring-after(string, string)
// substring-after('1999/12/31', '/') ⇒ '12/31'
substring
部分文字列を取得します。
string substring(string, number, number)
// substring('1999/12/31', 1, 4) ⇒ '1999'
string-length
文字数を取得します。
number string-length(string)
// string-length('1999/12/31') ⇒ 10
normalize-space
前後の空白を除去し、連続する空白を1つにします。
string normalize-space(string)
// normalize-space(' dummy text ') ⇒ 'dummy text'
translate
指定した文字を置換します。
string translate(string, string, string)
// translate('test', 'st', 'ST') ⇒ 'TeST'
Number
数値
function | description |
---|---|
[number] | 数値への変換 |
[sum] | 合計 |
[floor] | 切り下げ |
[ceiling] | 切り上げ |
[round] | 丸め |
number
オブジェクトをnumber
型に変換します。
number number(object)
// number(' -3.14') ⇒ -3.14
sum
合計値を取得します。
number sum(node-set)
// sum(//value) ⇒ 30
<sample>
<value>10</value>
<value>20</value>
</sample>
floor
指定した数値より小さい最大の整数を取得します。
number floor(number)
// floor(3.14) ⇒ 3
// floor(-3.14) ⇒ -4
ceiling
指定した数値より大きい最小の整数を取得します。
number ceiling(number)
// ceiling(3.14) ⇒ 4
// ceiling(-3.14) ⇒ -3
round
四捨五入します。
number round(number)
// round(1.5) ⇒ 2
Boolean
論理値
function | description |
---|---|
[boolean] | 論理値への変換 |
[not] | 否定 |
[true] | 真値 |
[false] | 偽値 |
[lang] | 言語判定 |
boolean
オブジェクトをboolean
型に変換します。
boolean boolean(object)
not
論理値を反転します。
boolean not(boolean)
// not(true) ⇒ false
// not(false) ⇒ true
true
真値を取得します。
boolean true()
// true() ⇒ true
false
偽値を取得します。
boolean false()
// false() ⇒ false
lang
xml:lang
属性で指定した言語かどうかを判断します。
boolean lang(string)
// lang('en') ⇒ true
// lang('ja') ⇒ false
<div xml:lan="en">This is a pen.</div>
Node
ノード
function | description |
---|---|
[last] | 最後の子要素 |
[position] | 位置 |
[count] | 要素数 |
[id] | |
[local-name] | |
[namespace-uri] | |
[name] |
last
現在ノードの兄弟ノードから、最後のノード番号を取得します。
number last()
position
現在ノードの位置を取得します。
number position()
count
ノード数を取得します。
number count(node-set)
id
指定したIDのノードの、ノードセットを取得します。
node-set id(object)
local-name
local
値(namespace
を除外したもの)を取得します。
string local-name(node-set)
namespace-uri
namespace
が定義されているURI
を取得します。
string namespace-uri(node-set)
name
現在ノードの名前を取得します。
string name(node-set)
XSLT
その他
function | description |
---|---|
[document] | ルート |
[key] | キー |
[format-number] | 書式化 |
[current] | 現在ノード |
[unparsed-entity-uri] | |
[generate-id] | ID生成 |
[system-property] | |
[element-available] | |
[function-available] |
document
ルートを取得します。
node-set document(object, node-set)
key
<xsl:key>
要素で指定されたインデックスを使用して、ドキュメントからノードセットを取得します。
node-set key(string, object)
format-number
書式化した文字列を取得します。
string format-number(number, string, string)
// format-number(123456789, '#億####万####') ⇒ '1億2345万6789'
current
現在ノードを取得します。
node-set current()
unparsed-entity-uri
<!ENTITY>
タグで指定されている文字列を取得します。
string unparsed-entity-uri(string)
generate-id
固有の値を生成します。
string generate-id(node-set)
system-property
XSLT
プロセッサ固有の値を取得します。
object system-property(string)
// system-property('xsl:version') ⇒ '1.0'
element-available
指定した要素がXSLT
プロセッサで処理できるかどうかを判断します。
boolean element-available(string)
// element-available('xsl:value-of') ⇒ true
function-available
指定した関数がXSLT
プロセッサで処理できるかどうかを判断します。
boolean function-available(string)
// element-available('function-available') ⇒ true