< 前へ | 次へ >

演習 1.5: JET 入力モデル、JET アクション、および XPath の理解

この演習では、JET 入力モデル、XPath 式を使用して JET 入力モデルを全探索する方法、および JET アクションと入力モデルを関連付ける方法について、さらに検討します。
このタスクについて
JET 入力モデル

JET 変換をオーサリングして作成する入力モデルには、次のような特性があります。

モデルの機能は意図的に制限されていて、ユーザーがメタモデルの設計について深く理解していなくても、モデルからテキストへの変換を素早く簡単に作成できます。

JET 変換およびアクションの呼び出しによるモデル処理

JET 作成者エディターは、入力モデルを処理するためのコードを生成します。 このコードは main.jet テンプレートにあり、次のような特性があります。

例として、このモジュールのモデルについて考察します。次のイメージは、「入力スキーマと出力アクション (Input schema and output actions)」ペインの内容を示しています。
このイメージは、root という名前のタイプに、mailFolder という名前の属性と mailing という名前のタイプが含まれ、mailing に 2 つの属性と Create file というアクションが含まれていることを示しています。

「Create File: letter.html」というアクションと、関連する JET テンプレート (templates/letter.html.jet) は、root 要素の下で mailing 要素が検出されるたびに呼び出されます。 アクションとテンプレートの両方が、2 つの XPath 変数 ($mailing と $root) にアクセスできます。アクション・パラメーターとテキストの置き換えでは、mailing と root という要素タイプに属する任意の属性を使用できます。

XPath 式と、モデル要素の名前変更

JET オーサリング機能によって作成される XPath 式は、常に $<変数名>/@<属性名> の書式になります。変数名または要素タイプが名前変更されると、JET オーサリング機能がこのような式をリファクタリングします。ただし、このリファクタリングは JET テンプレートには適用されません。そのため、JET 作成者エディターで変数、すなわち要素タイプを名前変更すると、古い変数名を使用する JET テンプレート内のすべての XPath 式が中断されます。

演習のチェックポイント

この演習では、JET 入力モデルの性質と、入力モデルが JET アクションと XPath 式にリンクされる方法について説明しました。
< 前へ | 次へ >

フィードバック