XSLT テンプレート

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  SPS ファイル: 構造 >

XSLT テンプレート

XSLT ファイルを SPS へインポートすることで、ファイル内部にある XSLT テンプレートをグローバルテンプレートとして使用することができるようになります。XML ドキュメントの処理を行なっている際に、XML ノードの1つがインポートされた XSLT テンプレート内のノードへマッチした場合、インポートされた XSLT テンプレートがそのノードへ適用されます。インポートされた XSLT ファイルに名前付きテンプレートが含まれる場合、デザイン内部にそれらを配置することができます。

 

メモ:

 

インポートされた XSLT テンプレートは StyleVision 内部で修正できません。

 

XSLT ファイルをインポートする

以下の操作により XSLT ファイルをインポートすることができます:

 

1.デザイン概要サイドバーにて、新規 XSLT ファイルを追加... リンクをクリックします(以下のスクリーンショットを参照)。

 

DesOviewXSLTFiles

 

2.ファイルを開くダイアログが表示されます。目的の XSLT ファイルを選択し、開くボタンをクリックします。XSLT ファイルがインポートされます。XSLT スタイルシートには xsl:import ステートメントが追加され、デザインツリーサイドバーのXSLT テンプレート以下には、インポートされた XSLT ファイル内部に含まれる XSLT テンプレートが表示されます(以下のスクリーンショットを参照)。

 

DesTreeXSLTTemplates

 

インポートされた XSLT テンプレートには2種類あります: (i) マッチテンプレート(match により表示)と (ii) 名前付きテンプレート(name により表示)。デザインツリーでは、これら2種類のテンプレートが、それぞれ (i) match テンプレートにある select 属性の値、(ii) 名前付きテンプレートにある name 属性の値とともに表示されます。

 

Match テンプレート

XML ドキュメントインスタンス内部にあるノードに対してテンプレートが適用され、match テンプレートが適用されるように選択されている場合に match テンプレートが使用されます。XML ノードの修飾名が、インポートされた match テンプレートにマッチする場合に使用されます。同じ修飾名を持ったグローバルテンプレートが SPS 内部で作成された場合、インポートされたテンプレートよりも優先順位が高くなるため、そのテンプレートが使用されます。複数の XSLT ファイルがインポートされた場合、最初にインポートされたファイル(XSLT コードの最初に表示されるファイル)の優先順位が最も低くなり、2番目にインポートされたファイルの優先順位が2番目に低いものとなります。

 

名前付きテンプレート

名前付きテンプレートは、デザインツリーからデザイン内の任意の場所へドラッグすることができます。その場所にて名前付きテンプレートを呼び出す xsl:call-template 要素が作成されます(以下のスクリーンショットを参照)。

 

CallNamedTemplate

 

これにより、デザイン内部で指定された場所にて名前付きテンプレートが出力に実装されます。このようなメカニズムは、XML インスタンスドキュメントや XSLT スタイルシートから独立したコンテンツを挿入する際に便利な機能となります。

 


(C) 2019 Altova GmbH