サンプルで覚えるXSLTプログラミング
14. その他の関数
これまでの分類に入らなかった関数を紹介します。
document(uri)
引数 | 引数タイプ |
uri | URI |
document('another.xml')は、“another.xml”ドキュメントのルートを返します。 また document('')は、その文書のルートを返します。
element-available(string)
引数 | 引数タイプ |
string | 文字列 |
string引数で与えられたXSLTノードが、XSLTプロセッサで処理できるかどうかを返します。返り値はbool代数で返されます。
例: |
XSLT1.0に準拠しているXSLTプロセッサであれば、これらはすべて“true”を返します。
function-available(string)
引数 | 引数タイプ |
string | 文字列 |
string引数で与えられた関数が、XSLTプロセッサで処理できるかどうかを返します。返り値はbool型です。
例:function-available('function-available') |
は“ture”を返します。
generate-id(node)
引数 | 引数タイプ |
node | ノード表現 |
node引数に対して固有の値を割り当てます。返り値は文字列です。
(XML文書:drugs.xml) <?xml version="1.0"
encoding="Shift_JIS"?> |
(XSLTプログラム:drugs.xsl) <?xml version="1.0" encoding="Shift_JIS"?> <xsl:output method="html"
encoding="Shift_JIS"/> <xsl:template match="/">
<xsl:template name="drug"> |
<a href="#{generate-id(../../name)}">では、各<drug>ノードに対して、その親の兄弟ノードである<name>ノード固有のIDを<a>タグのhref属性に返し、ノードの中身である薬品名を入れたあと</a>で<a>タグを閉じ、<br/>タグを出力します。
<xsl:template match="company">では、それぞれの<company>ノードについてその子ノードである<name>ノード固有のIDを<a>タグのhref属性に返し、ノードの中身である薬品会社名を入れたあと</a>で<a>タグを閉じ、<br/>タグを出力します。
(出力された結果) |
id(any)
引数 | 引数タイプ |
any | 指定なし |
any引数で与えられたidに該当するノードを、ノード表現で返します。
key(string, any)
引数 | 引数タイプ |
string | 文字列 |
any | 指定なし |
stringで与えられたHashに、anyで指定されているノード表現を返します。
system-property(string)
引数 | 引数タイプ |
string | 文字列 |
string引数のXSLTプロセッサ固有の値(例えばXSLTのベンダー名など)を返します。返り値は引数などに依存します。
例: |
上記の例でOracleのXSLTプロセッサを使用したときに、上から“1.0”、“Oracle”そして“www.oracle.com”が返されます。
unparsed-entity-uri()
<!ENTITY>タグで指定されている値を文字列で返します。
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」の詳細も紹介する
|
|