例: カスタム XSLT 1.0 関数の追加

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

ホーム >  関数 > カスタム XSLT 1.0 または 2.0 関数のインポート >

例: カスタム XSLT 1.0 関数の追加

この例は、カスタム XSLT 1.0 関数を MapForce にインポートする方法を説明しています。以下に示される単純なサンプルに必要なファイルは ...\MapForceExamples ディレクトリに収められています。

 

目的の変換を行い、その結果を出力する XSLT ファイルを作成します。

以下に示される Name-splitter.xslt サンプルでは、"string" のパラメーターを伴う "tokenize" という名前付きテンプレートを確認することができます。テンプレートにより、空白スペースの後に来る文字が大文字になります。

cust-xslt1

Name-splitter.xml (処理されるソース XML インスタンスファイル)
Customers.xsd (ソース XML スキーマ)
CompletePO.xsd (ターゲット XML スキーマ)

 

 

カスタム XSLT 関数の追加:

1.XSLT を変換言語として選択します。(次を参照してください: 変換言語の選択)。
2.ライブラリウィンドウの下のエリア内のライブラリを追加/削除 ボタンをクリックします。または、ツールメニューからオプションクリックして、ライブラリを選択します。
3.追加 をクリックして、関数として使用する名前付きテンプレートを含む XSL または XSLT ファイル(この例では Name-splitter.xslt)を選択します。

dlg_import_xslt

4.「OK」 をクリックします。 名前付きテンプレートとして定義された関数とともに XSLT ファイル名がライブラリウィンドウに表示されます。この例では、Name-splitter というライブラリ以下に tokenize という関数が表示されます。

libraries_window_custom_xslt

 

マッピング内で XSLT 関数を使用する:

1.マッピングウィンドウへ tokenize 関数をドラッグして、以下のスクリーンショットに表示されているようなマッピングを作成します。

map_xslt_name_splitter

2.XSLT タブをクリックして、XSLT コードを生成します。

cust-xslt3a

メモ: 名前付きテンプレートがマッピングで使用されると、名前付きテンプレートが含まれている XSLT ファイルが、生成された XSLT コードに(xsl:include href... により)インクルードされ、xsl:call-template コマンドを使用することで呼び出されます。

 

3.出力タブをクリックすることで、マッピングの結果を確認できます。

cust-xslt4a

 

XSLT ライブラリを MapForce から削除する:

1.ライブラリを追加/削除ボタンをクリックします。
2.ライブラリタブにて、目的の XSLT ライブラリ名をクリックし,削除ボタンをクリックした後

(C) 2019 Altova GmbH