MXNM (multicultural name comparison function)
The MXNM comparison function is used to compare personal names from non-Latin languages where the characters might have multiple pronunciations. Like other XNM comparison functions, MXNM uses cmpargs to specify the type of phonetic function to be applied.
- Number of roles
- Weight table
- mpi_wgtsval, mpi_wgthead
- Other tables
- mpi_cmpspec, mpi_strequi (NICKNAME), mpi_cmphead
The MXNM comparison function compares the two strings in an iterative manner, first looping through one of the compare strings and then through the other. The tokens are compared against one another during each iteration.
- Initial match
- Partial match
- Exact match
- Phonetic match
- Nickname match
- Total name mismatch
If the two tokens are in the same place in both comparison strings, the weight is increased by a factor of 20. If they are off by one position, it is increased by 10. If not, the weight is retained as is. The name weight is then the sum of the individual weight token comparisons.
There are two types of parameters that are used by MXNM. The first set of parameters are used during the comparison step of weight generation. The second set of parameters use the outputs from weight generation and are used during the actual data comparison to determine a final score.
- __POSITION_EXACT /* (two tokens match exactly and are in the same position, the default is 20 */)
- __POSITION_ADJ /* (two tokens are off by one position, the default is 10 */)