There are three types of entity references: named, numeric, 
and unicode. For example, "&lt;", "&#x003C;", and "#60;" 
denote the same thing "<" (less-than).
All of them may be used in an XML file or HTML file.  
It will help a software to process the file if all the 
entity references are in one form. The "enttran" program 
is used to convert between the types of entity references 
in an XML file or HTML file. Any other forms will be 
converted to the one as specified in the command. 

The program was designed and coded in java.  
The seaching and replacing of the entity references were 
performed in a recursive call on a single line basis 
through the entire file. Hashtables were chosen rather 
than vectors to improve the efficiency in data searching.
The NameUcode.txt file contains most of the named entity 
references and their equivalent unicode forms. 
Any extra ones needed can be appended to it.

The program is invoked the way 
"java enttran [xmlfile] NameUcode.txt -o [name | ucode | nent] [outfile]".
The "name" indicates that any other types in the source 
file will be converted to named entities.
The "ucode" means that any other types in the source file 
will be converted to unicode form.
The "nent" indicates that any other types in the source file 
will be converted to numeric references.
 