10–11: |
A threshold of 0.5 is applied to the similarity values for each input header to find the candidate output headers and the candidates are sorted by their descending similarity values. |
12–14: |
For each input header, our algorithm finds the output header with the highest similarity value. |
15–17: |
If the output header is not used for any previous match, the match between the current input header and output header is taken while storing its similarity value. |
18–20: |
If the output header has already been used for a previous input header (prevMatch in the algorithm), their similarity values are compared. |
21–24: |
If the current input header has a higher similarity value, its match is accepted while discarding the match of previous input header. Then a match for this previous input header is found in a recursive way. |
12–14: |
If the current input header has a lower or equal similarity value, it is matched with the next candidate output header following the same rules (continuation of the for loop in the algorithm). |