1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

XSLT 1.0 の関数一覧

Posted at

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
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?