10. 文字列系関数
文字列関数を使うと、文字の連結や抜き出しなど、XSLTプログラム上で文字列の自由な操作が可能になります。
文字列の連結
concat(string1, string2, string3, etc...)
引数 | 引数タイプ |
string1 string2 string3 etc... |
文字列 |
文字列を左から順番に連結させていきます。連結させる引数の数は2つ以上ならば制限はありません。結果は文字列で返されます。
例:concat('日本', 'Oracle') |
上記 は、文字列“日本Oracle”を返します。
文字列の調査
contains(string, substring)
引数 | 引数タイプ |
string | 文字列 |
substring | 文字列 |
stringにsubstringが含まれるかを返します。結果をbool代数で返します。
例:contains('I want to go to Paris',
'Paris') |
上記はtureを返します。
数字のフォーマッティング
format-number(number, format) もしくは
format-number(number, format, format-type)
引数 | 引数タイプ |
number | 数値 |
format | 文字列 |
format-type | 文字列 |
number引数を、formatで指示されているように出力します。結果は、format-number(number, format) は文字列を、format-number(number, format, format-type)は数値を返します。
例:format-number(123456789, '#億####万####') |
上記は“1億2345万6789”を返します。
空白の除去
normalize-space(string)
引数 | 引数タイプ |
string | 文字列 |
与えられた文字列から空白を取り除き、結果を文字列で返します。
例:normalize-space('I |
上記は“I missed the TV show last night”を返します。
先頭文字列のチェック
starts-with(string, substring)
引数 | 引数タイプ |
substring | 文字列 |
string | 文字列 |
string引数がsubstring引数から始まるかどうかをチェックします。結果はbool代数で返します。
例:starts-with('Technically speaking,
the year 2000 is |
上記はtrueを返します。
文字列への変換
string(any)
引数 | 引数タイプ |
any | 指定なし |
any引数を文字列に変換し、結果の文字列を返します。
文字列の長さを返す
string-length(string)
引数 | 引数タイプ |
string | 文字列 |
string引数の長さを返し、結果を数値で返します。
例:string-length('Oracle') |
上記は6を返します。
文字列の抜き出し(1)
substring(string, start)もしくは
substring(string, start, length)
引数 | 引数タイプ |
string | 文字列 |
start | 数値 |
length | 数値 |
string引数に対して、startをオフセットした値からlengthまでのあいだの文字列を返します。lengthが指定されていない場合は、string引数の最後までを返します。
例:substring('I want to write a web page
using XSLT', 2) |
上記は“want to write a web page using XSLT”を返します。
文字列の抜き出し(2)
substring-after(string, substring)
引数 | 引数タイプ |
string | 文字列 |
substring | 文字列 |
string引数の中からsubstring引数で指定された文字列が出現した場合、その後の文字列を返します。
例:substring-after('Today, scientists
at NIH has announced that they have found a remarkable treatment to
cure many types of cancer', 'that') |
上記は、“they have found a remarkable treatment to cure many types of cancer”を返します。
文字列の抜き出し(3)
substring-before(string, substring)
引数 | 引数タイプ |
string | 文字列 |
substring | 文字列 |
string引数の中から、substring引数に指定された文字列が見つかったとき、その前の文字列を返します。
例:substring-before('XSLT seems promising
technology', 'seems') |
上記は“XSLT”を返します。
文字の置換
translate(string, before, after)
引数 | 引数タイプ |
string | 文字列 |
before | 文字列 |
after | 文字列 |
string引数に対して、before引数で指定されている文字を、after引数で指定されているものに置換します。
例:translate('text', 'tx', 'Ts') |
上記は“Test”を返します。
Index | |
サンプルで覚えるXSLTプログラミング | |
1.
XMLからHTMLへの変換 スタイルシートはどのように解釈されるか |
|
2.
XPathの基礎知識 XML文書をツリー構造で見る XPathの表記方法 |
|
3. XSLTエレメントの概要 コラム XSLTプロセッサのインストール |
|
4. テンプレート系XSLTエレメント テンプレートの定義 該当するテンプレートの適用 指定されたテンプレートの呼び出し |
|
5. 変数系XSLTエレメント 変数の定義1 変数の定義2 |
|
6. 出力系XSLTエレメント 該当する表現の値を代入 エレメントノードの生成 属性ノードの生成 テキストノードの生成 コメントノードの生成 PI(processing-instruction)の生成 出力方法の指定 |
|
7. フローコントロール系XSLTエレメント ループ処理 条件分岐 IF文 |
|
8. その他のXSLTエレメント
他のXSLファイルの読み込み 数の割り当て |
|
9.XSLT関数の概要 関数の主な分類 |
|
10. 文字列系関数 文字列の連結 文字列の調査 数字のフォーマッティング 空白の除去 …… |
|
11. 数値計算系関数 切り上げ 表現の数を数える 切り下げ 数値型への変換 四捨五入 加算 |
|
12. ノードに関する関数 | |
13. bool代数系関数 | |
14. その他の関数 | |
15. JavaによるXSLTの拡張
Built-inクラスの呼び出し カスタムメイドの関数を作る |
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|