サンプルで覚えるXSLTプログラミング
5.変数系XSLTエレメント
変数系のタグを使うと、実行中に値を動的に変更できる変数を、スタイルシート中で使えるようになります。
変数の定義1
<xsl:variable>
属性名 | 属性値 | 機能 |
name | 文字列 | 変数の名前で必須です。 |
select | XPath表現 | 表現の内容が変数に割り当てられます。 |
例: |
変数の定義2
<xsl:param>
属性名 | 属性値 | 機能 |
name | 文字列 | 変数の名前で必須です。 |
select | XPath表現 | 表現の内容が変数に割り当てられます。 |
<xsl:varia ble>と<xsl:param>は、ほぼ同等です。
下記の「prefectures3.xsl」では、変数number_of_prefecturesをcount関数を使用して定義し、値を設定しています。設定された変数number_of_prefecturesは、<xsl:value-of select="$number_of_prefectures"/>によって呼び出されています。
このスタイルシートでは「出力2」が得られます。 countなどの関数については、次回で紹介する予定です。ここでは単にcount(//prefecture)という表現が入力されたXML文書、「prefectures.xml」内にある“prefecture”というタグの総数を数えるものだと理解してください。
prefectures3.xsl(都道府県を数えるスタイルシート) <?xml version="1.0" encoding="Shift_JIS"?>
<xsl:variable name="number_of_prefectures"
select="count(//prefecture)"/>
|
出力2(結果)<HTML> |
<xsl:variable>タグの代わりに<xsl:pram>タグを利用しても、まったく同様の結果が得られます。
例として示したファイルは下記からダウンロードできます。
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クラスの呼び出し カスタムメイドの関数を作る |
XML & SOA フォーラム 新着記事
- 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」の詳細も紹介する
|
|