プロセスの
list
変数や
map
変数を XPath 式で参照する際は、リストの
index
値またはマップの
key
値に対して他のプロセス変数を使用することができます。
例えば、
listvar
という名前の
list
変数に一連の顧客名が格納されているとします。
listvar
に含まれている目的のデータ項目のインデックスが、
intvar
という名前の
integer
変数に格納されています。次の XPath 式を使用すると、
listvar
から目的のデータ項目を取得することができます。
/process_data/listvar[number(/process_data/@intvar)]
注意:
number
関数が使用されているので、
/process_data/@intvar
ノード内のデータは必ず数値として解釈されます(「
number
」を参照)。リストのインデックスとして
string
値が使用された場合でも、この式からは、リスト内の 1 つ目の項目が返されます。
mapvar
という名前の
map
変数には、顧客の住所が格納され、そのキーとして顧客名が使用されています。目的の住所に対応する顧客名は、
stringvar
という名前の
string
変数に格納されています。
stringvar
に格納された顧客名をキーとして、
mapvar
から住所を取得する XPath 式は次のとおりです。
/process_data/mapvar[@id='/process_data/@stringvar']