Split Variable アサーション

Split Variable アサーションは、単一値コンテキスト変数を複数値に分割し、その結果として複数値コンテキスト変数を作成します。
gateway90
Split Variable アサーションは、単一値コンテキスト変数を複数値に分割し、その結果として複数値コンテキスト変数を作成します。
例:
入力変数 "${varIn}" の値は "one,two,three" です。この変数が分割されて "${varOut}" に設定されると、複数値コンテキスト変数の値は以下のようになります。
${varOut [0]} = one
${varOut [1]} = two
${varOut[2]} = three
例 2:
指定された分割パターンがソースの値に見つからない場合は、ソースの値全体がターゲット変数にコピーされます。入力変数 "${varIn}" の値は "one,two,three" で、分割パターンは ";" です。この場合、複数値コンテキスト変数の値は以下のようになります。
${varOut} = one,two,three
${varOut[0]} = one,two,three
この場合に ${varOut[1]} および ${varOut[2]} を使用すると、値が返されないことに注意します。  
例 3:
Split Variable アサーションの分割パターンで正規表現を使用する高度な例を以下に示します。この例では、簡潔に表すために完全な XML 構文は省略して、ノード名のリストを記述しています。
入力変数 "
${varIn}
" には以下のフラグメントが含まれています。
<xml>
<node>entry 1</node> <node>entry 2</node>
</xml>
分割パターンは次の正規表現です: ((\s)*\<.+?\>[\n]*)。
この変数が分割されて "
${varOut}
" に設定されると、複数値コンテキスト変数の値は以下のようになります。
${varOut [0]} = entry 1
${varOut [1]} = entry 2
コンテキスト変数でのインデックス機能([0]、[1] など)の使用の詳細については、「複数値のコンテキスト変数の使用」にある「展開時のインデックス オプション」を参照してください。
複数値のコンテキスト変数の結果の長さとサイズを取得するには、「.length」サフィックスを使用します。これは、「複数値のコンテキスト変数の使用」の「複数値の変数の値の個数の取得」で説明します。
アサーションの使用
  1. 以下のいずれかを実行します。
    • アサーションをポリシー作成ウィンドウに追加するには、「アサーションの追加」を参照してください。
    • 既存のアサーションの設定を変更するには、下記の手順 2 に進みます。
  2. アサーションを追加すると、
    [Split Variable Properties]
    ダイアログ ボックスが自動的に表示されます。アサーションを変更する場合は、ポリシー ウィンドウで
    [Split variable <
    source
    > into <
    target
    >...]
    を右クリックして
    [Split Variable Properties]
    を選択するか、ポリシー ウィンドウでアサーションをダブルクリックします。このアサーションのプロパティが表示されます。 
    「${}」ラッパーは、説明のためにのみ使用しています。いずれの変数名でもこのラッパーを使用する必要はありません。入力されている場合、アサーションの保存後にラッパーは削除されます。
  3. 以下のようにプロパティを設定します。
    設定
    説明
    Source Variable
    分割されるソースの値が含まれているコンテキスト変数を入力します。
    Target Variable
    分割の結果を保持する複数値コンテキスト変数を入力します。この変数がすでに存在していない場合は、作成されます。
    Split Pattern
    ソース変数の分割に使用されるパターンを入力します。この分割パターンは、[Regular Expression]チェック ボックスの設定に応じて、正規表現または文字列リテラルのいずれかとして解釈されます。デフォルト値はカンマ(「;」)で、ソース変数内でカンマが見つかるごとに分割が行われることを表しています。
    以下の点に注意してください。
    • 分割パターンに一致する文字列がソース変数内に含まれていない場合、ターゲット変数の値は入力文字列と同じになります。その結果、"${varOut}" と "${varOut[0]}" は同じになります。
    • Regular Expression
      ]チェック ボックスがオンになっていて、分割パターンが解析できない場合は、検証機能の警告が表示され、ポリシーの保存時に 「WARNING」メッセージがログ記録されます。この場合、このアサーションの実行は常に失敗するため、そのポリシーは実行されるごとに失敗する可能性があります。
    Regular Expression
    このチェック ボックスをオンにすると、分割パターンは正規表現として解釈されます。これがデフォルトの設定です。
    このチェック ボックスをオフにすると、分割パターンはリテラル値として解釈されます。
    Ignore Empty Values
    このチェック ボックスをオンにすると、結果の変数内の空の値(変数内のどこにあっても)がすべて破棄されます。
    このチェック ボックスをオフにすると、末尾にある空の値のみが破棄されます。この設定がデフォルトで、バージョン 6.1.5 より前のこのアサーションの動作と同じです。
    例:
    ソース文字列 = ",,3,,,"
    分割文字 = ","
    ターゲット =
    ${target}
    [Ignore Empty Values]チェック ボックスがオンの場合、以下の値が変数
    ${target}
    に設定されます。
    ${target} = 3
    [Ignore Empty Values]チェック ボックスがオフの場合、以下の値が複数値の変数
    ${target}
    に設定されます。
    ${target[0]} = <empty>
    ${target[1]} = <empty>
    ${target[2]} =
    3
  4. 完了したら、[
    OK
    ]をクリックします。[
    OK
    ]ボタンがアクティブになっていない場合は、ターゲット変数が値を受理できることを確認します。