変数とアクショングループの結果

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

ホーム >  アクション > アクショングループ >

変数とアクショングループの結果

アクショングループに値であるアクショングループの結果を返すようにセットアップすることができます。 (例えば、 下のスクリーンショットでは、2つのパラメーターを宣言し、 リターン アクション内で、乗算してアクショングループの結果を作成しました)。 Let アクション が定義されると、アクションぐうr-ぷの結果に変数を割り当て、Let アクションの子アクション内で変数を使用しすることができます。

MTDVarsAGresult01

メモ:変数にノードセットが含まれ、ノードセットが処理中に変更されると、変数は無効化され、以降使用できなくなります。

 

これを行うためのステップは、以下のとおりです:

 

1.アクショングループ内で、必要とされる結果を生成するために必要なパラメーターを宣言します。 [パラメーターの追加] アイコンをクリックしてこれを行います (上のスクリーンショット参照)。 新しいパラメーターが追加された後、パラメーターの $ シンボルをダブルクリックして、パラメーターの名前を入力します。 上のスクリーンショットでは、 $length$width という名前の2つのパラメーターを宣言する アクショングループに RectangleArea という名前をつけました。 以下に注意してください: (i)  パラメーターは宣言されましたが、値は定義されていません、 (ii) パラメーターはアクショングループのスコープ内にあり、外部で使用することはできません。パラメータが任意で定義されている場合、変数の定義内で使用されていなくてもエラーにはなりません (下のステップ 3 参照)。
2.リターン アクション を追加します。 XPath 式を使用して結果を定義します。 アクショングループの結果を Let アクション が使用することができます。 上のスクリーンショット内では、 $length$width パラメーターの値を乗算する式を定義しました。 リターン アクション は、アクショングループ内に存在することに注意してください。このため、パラメーターもスコープ内にあります。
3.Let アクション により定義された変数がアクショングループの値を持つように宣言するには、 Let アクション を以下のように定義します (下のスクリーンショット参照): (i) 変数の $ シンボルの右側をダブルクリックして、変数の名前を入力します。(ii) (下のスクリーンショットで青い枠で囲まれている)アクショングループの結果ラジオボタンを選択します。(iii) (赤い枠で囲まれている)コンボボックスの上のから変数の値として使用するアクショングループを選択します。(iv) 選択されたアクショングループのパラメーターがリストされています (必須の場合は赤、任意の場合は黒で表示されます)。 値を生成する XPath 式を入力します。ランタイムでは、これらの値はアクショングループのパラメーターにパスされ、アクショングループの結果を計算するために使用されます。

MTDLetActionGroupResult

上のスクリーンショットでは、  Let アクション内で、変数に $area という名前を与え、 RectangleArea アクショングループに値を与える変数を選択しました。 (Let アクション内の)パラメーターの値には、2つの XML ツリーノードを選択し、 (RectangleArea アクショングループ内で宣言されている) $length$width パラメーターパラメーターの値を与えるようにしました。Let アクション が実行されると、パラメーターの値は、Return アクション がパラメータの値を計算に使用する箇所で、アクショングループにパスされます。結果は返され、Let アクション内で定義された変数の値になります。上のサンプルでは、 $length$width パラメーターの値は、互いを乗算し、 Let アクション $area 変数の結果を返す RectangleArea アクショングループにパスされます。

4.Let アクション 内で定義されている変数は、 Let アクションの子アクションとして使用することができます。 例えば、 $area 変数 を使用して Box/Area ノードを更新することができます。

 

詳細に関しては、 Let アクション を参照してください。

 


(C) 2019 Altova GmbH