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 |
Entrée |
–– |
Handle vers un serveur de programme de correspondance Director. |
|
rootTag |
string[ ] |
Entrée |
n* |
Balise racine XML. |
|
inputXML |
string[ ] |
Entrée |
n* |
Chaîne XML contenant les données à comparer. |
|
outputXML |
string[ ] |
Sortie |
n* |
StringBuffer où le XML correspondant est renvoyé. |
|
retCode |
int[ ] |
Sortie |
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);}