Crossing References Analysis
After cross references are checked (see crossing references check), following files are generated:
| File | Descriptions | 
|---|---|
| newTerm.data | list of possible new terms to be added in LEXICON | 
| dup.data | list of possible duplicated lexical records | 
| acr.data | list of problems in acronyms crossing references | 
| abb.data | list of problems in abbreviations crossing references | 
| nom.data | list of problems in nominamizations crossing references | 
All above files are further categorized, analyzed, and filtered out (from reported exceptions) by different type of issues and stored into different files under directories of the above 5 categories. They are details as follows:
| File | Exception Filter | Descriptions | 
|---|---|---|
| abbNewTerm.data | None | Abbreviation expansions: 
 | 
| acrNewTerm.data | None | Acronym expansions: 
 | 
| nomNewTerm.data | None | Nominalizations: 
 | 
| File | Exception Filter | Descriptions | 
|---|---|---|
| abbDup.data | DupExceptions | Abbreviation expansions: 
 | 
| acrDup.data | DupExceptions | Acronym expansions: 
 | 
| nomDup.data | DupExceptions | Nominalizations: 
 | 
DupExceptions:
| key (String) | values (HashSet<String>) | 
|---|---|
| EUI | List of group ID | 
| File | Exception Filter | Auto Fix | Descriptions | 
|---|---|---|---|
| noBaseFieldAbb.data | None | No | Check abbreviation expansion: 
 | 
| noEuiFieldAbb.data | None | Yes | Check suggested EUI: 
 | 
| noEuisFieldAbb.data | None | No | Check suggested EUIs: 
 | 
| noRecFoundAbb.data | None | No | Check abbreviation expansions: 
 | 
| noEuiFoundAbb.data | None | No | Check abbreviation expansions: 
 | 
| wrongEuiAbb.data | None | Yes | Check abbreviation expansions: 
 | 
| wrongEuisAbb.data | None | No | Check abbreviation expansions 
 | 
| checkEuiAbb.data | 
 | No | Check suggested EUIs: 
 Check abbreviation expansions|EUI 
 | 
| euiNullAbb.data | None | No | Check abbreviation expansion|EUI: 
 | 
* Please note that if the message type is WARNING, "do nothing" must be one of the optional actions.
AbbExceptions (AcrExceptions):
| key (String) | values (HashSet<String>) | 
|---|---|
| abbreviation EUI | List of expansion EUIs | 
| File | Exception Filter | Auto Fix | Descriptions | 
|---|---|---|---|
| noBaseFieldNom.data | None | No | Check nominalization: 
 | 
| noCatFieldNom.data | None | No | Check nominalization & suggested cats: 
 | 
| noEuiFieldNom.data | None | Yes | Check suggested EUI: 
 | 
| noEuisFieldNom.data | None | No | Check suggested EUIs: 
 | 
| noRecFoundNom.data | None | No | Check nominalizations: 
 | 
| noEuiFoundNom.data | None | No | Check nominalizations: 
 | 
| wrongCatNom.data | None | No | Check nominalizations: 
 | 
| wrongCatsNom.data | None | No | Check nominalization 
 | 
| checkCatNom.data | 
 | No | Check suggested EUIs: 
 | 
| catNullNom.data | None | No | Check nominalization: 
 | 
| wrongEuiNom.data | None | Yes | Check nominalization: 
 | 
| wrongEuisNom.data | None | No | Check nominalizations 
 | 
| checkEuiNom.data | 
 | No | Check suggested EUIs: 
 Check nominalization|EUI 
 | 
| euiNullNom.data | None | No | Check nominalization|EUI: 
 | 
| notSymNom.data | None | No | Check target record 
 | 
* Please note that if the message type is WARNING, "do nothing" must be one of the optional actions.
MultiNomExceptions:
| key (String) | values (HashSet<String>) | 
|---|---|
| base EUI | List of nominalization EUIs | 
NotNomExceptions:
| key (String) | values (HashSet<String>) | 
|---|---|
| base EUI | List of EUIS that is not nominalization to the base base | 
The goal of nomExceptions and notNomExceptions are used to fileter out (not print) records with legit base|nominalization when there are multiple suggested EUIs. So the algorithm are: