Use an IfThenElse function with a Matches function to define an output value depending on the pattern of an input value.
Before you begin
About this task
In this example, you have an XML file containing contact information. You want to check that
the
state
and phone
elements match a specific
pattern and indicate whether a contact is valid or invalid using an attribute. You
can use the following XML sample as
input:<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>
You can use the following XML sample to create your output
structure:
<contacts>
<contact status="">
<lastName/>
<firstName/>
<street/>
<zipCode/>
<city/>
<state/>
<phone/>
</contact>
<contact status="">
<lastName/>
<firstName/>
<street/>
<zipCode/>
<city/>
<state/>
<phone/>
</contact>
</contacts>
Procedure
Results
status
attribute of the
contact element is valid if both the
state and phone number match the patterns defined. Otherwise the value is
invalid.
You can use the Test Run feature to see
the result. In this example, the following output is returned:
<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>