La méthode matchCandidateXML() est utilisée pour faire correspondre un enregistrement dans un document XML à des enregistrements candidats intégrés dans le même document XML. Cette méthode ajoutera l'attribut « matchPattern » à un enregistrement de candidat considéré comme correspondant. L'attribut « matchPattern » sera affecté de la valeur du modèle de correspondance approprié. Cette méthode ne renvoie pas de suspects. Pour renvoyer les suspects, ainsi que les candidats, utilisez la méthode matchCandidateWithSuspectsXML() décrite à la page 45.
Syntaxe
public void matchCandidateXML(int handle, java.lang.String rootTag, java.lang.String inputXML, java.lang.StringBuffer outputXML, int retCode[]);
Paramètres
Nom |
Type |
Utilisation |
Longueur |
Description |
---|---|---|---|---|
handle |
entier |
Entrant |
–– |
Handle vers un serveur de programme de correspondance Director. |
rootTag |
string[ ] |
Entrant |
n* |
Balise racine XML. |
inputXML |
string[ ] |
Entrant |
n* |
Chaîne XML contenant les données à comparer. |
outputXML |
string[ ] |
Sortant |
n* |
StringBuffer où le XML correspondant est renvoyé. |
retCode |
int[ ] |
Sortant |
4 |
Code d'erreur indiquant le statut de l'appel de la méthode. |
n* indique la longueur maximale et varie en fonction de la plateforme sur laquelle le programme est exécuté.
Exemple
TrilTGenClient testClient = new TrilTGenClient(); // Return code and handle int[] retCode= new int[1]; int handle = 0; // System and Server Id for attach() char systemID = 'G'; String serverName = "RMatcher"; // Root Tag of XML doc String rootTag = "CustomerData/PrimaryCustomer"; // This is the input (dirty) XML doc String inputXML = "<?xml version = '1.0' encoding = 'ISO-8859-1' standalone =
'no'?>" + "<CustomerData>" + "<REQUESTTYPE>RMatch</REQUESTTYPE>" + "<PrimaryCustomer>" + "<Name>John Smith</Name>" + "<Address>" + "<StreetLine1>11 falk</StreetLine1>" + "<StreetLine2 />" + "<City>pompton lakes</City>" + "<State>NJ</State>" + "<Country>US</Country>" + "<ZipCode></ZipCode>" + "</Address>" + "</PrimaryCustomer>" + "<Candidate>" + "<Name>J Smith</Name>" + "<Address>" + "<StreetLine1>10 falk</StreetLine1>" + "<StreetLine2 />" + "<City>pompton lakes</City>" + "<State>NJ</State>" + "<Country>US</Country>" + "<ZipCode></ZipCode>" + "</Address>" + "</Candidate>" + "<Candidate>" + "<Name>Tom Romeo</Name>" + "<Address>" + "<StreetLine1>11 falk</StreetLine1>" + "<StreetLine2 />" + "<City>pompton lakes</City>" + "<State>NJ</State>" + "<Country>US</Country>" + "<ZipCode></ZipCode>" + "</Address>" + "</Candidate>" + "</CustomerData>; // Attach to matcher server and initialize Matcher session handle = testClient.openMatcherEx(systemID, serverName, retCode); if (retCode[0] == 0) { StringBuffer outputXML = new StringBuffer (""); testClient.matchCandidateXML(handle, rootTag, inputXML, outputXML, retCode); if (retCode[0] != 0) { System.out.println("matchCandidateXML method returned" + retCode[0]); } else { // Process matched data in outputXML } // Close and release matcher server testClient.closeMatcherEx(handle, retCode);}