Retourner des valeurs basées sur des rapprochements d'expressions régulières
Utilisez une fonction IfThenElse avec une fonction Matches afin de définir une valeur de sortie dépendant du modèle d'une valeur d'entrée.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Dans cet exemple, un fichier XML contient des informations de contact. Vous souhaitez vérifier que les éléments state et phone correspondent à un modèle spécifique et indiquer si un contact est valide ou invalide, à l'aide d'un attribut. Vous pouvez utiliser l'échantillon XML suivant en entrée :
<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>
Vous pouvez utiliser l'échantillon XML suivant pour créer votre structure de sortie :
<contacts>
<contact status="">
<lastName/>
<firstName/>
<street/>
<zipCode/>
<city/>
<state/>
<phone/>
</contact>
<contact status="">
<lastName/>
<firstName/>
<street/>
<zipCode/>
<city/>
<state/>
<phone/>
</contact>
</contacts>
Procédure
Résultats
Vous pouvez utiliser la fonctionnalité Test Run pour voir le résultat. Dans cet exemple, la sortie suivante est retournée :
<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>