正規表現の一致に基づいて値を返す
IfThenElseファンクションをMatchesファンクションと共に使えば、入力値のパターンに応じた出力値を定義できます。
始める前に
このタスクについて
この例では、連絡先情報が含まれているXMLファイルを使います。属性を使い、stateエレメントとphoneエレメントが特定のパターンにマッチしていることをチェックし、連絡先が有効か無効かを示したいとします。入力には次のXMLサンプルを使います:
<contacts>
<contact>
<lastName>Harrison</lastName>
<firstName>Jane</firstName>
<street>French Camp Turnpike Road</street>
<zipCode>30316</zipCode>
<city>Atlanta</city>
<state>Georgia</state>
<phone>(678)123-4567</phone>
</contact>
<contact>
<lastName>Johnson</lastName>
<firstName>Katherine</firstName>
<street>Santa Rosa South</street>
<zipCode>85162</zipCode>
<city>Phoenix</city>
<state>AZ</state>
<phone>(602)789-0123</phone>
</contact>
<contact>
<lastName>Monroe</lastName>
<firstName>Martin</firstName>
<street>N Kentwood</street>
<zipCode>32315</zipCode>
<city>Tallahassee</city>
<state>FL</state>
<phone>(805) 456-7890</phone>
</contact>
</contacts>
次のXMLサンプルを使えば、出力ストラクチャーを作成できます:
<contacts>
<contact status="">
<lastName/>
<firstName/>
<street/>
<zipCode/>
<city/>
<state/>
<phone/>
</contact>
<contact status="">
<lastName/>
<firstName/>
<street/>
<zipCode/>
<city/>
<state/>
<phone/>
</contact>
</contacts>
手順
タスクの結果
[Test Run] (テスト実行)機能を使えば結果を表示できます。この例では次のような出力が返されます。
<contacts>
<contact status="invalid">
<lastName>Harrison</lastName>
<firstName>Jane</firstName>
<street>French Camp Turnpike Road</street>
<zipCode>30316</zipCode>
<city>Atlanta</city>
<state>Georgia</state>
<phone>(678)123-4567</phone>
</contact>
<contact status="valid">
<lastName>Johnson</lastName>
<firstName>Katherine</firstName>
<street>Santa Rosa South</street>
<zipCode>85162</zipCode>
<city>Phoenix</city>
<state>AZ</state>
<phone>(602)789-0123</phone>
</contact>
<contact status="invalid">
<lastName>Monroe</lastName>
<firstName>Martin</firstName>
<street>N Kentwood</street>
<zipCode>32315</zipCode>
<city>Tallahassee</city>
<state>FL</state>
<phone>(805) 456-7890</phone>
</contact>
</contacts>