OpenMath objects must be thoroughly checked for various reasons. Firstly, not all OpenMath symbols have MathML equivalents. Table mmleq!* contains all OpenMath symbols which easily translate to MathML. If a symbol is not contained within this table then it is searched inside tables special_cases!* and special_cases2!*.
Table special_cases!* contains all OpenMath symbols which have a MathML equivalent but under a different name. It also deals with OpenMath symbols mapping to one MathML element but with different attribute values. This table will also specify where necessary the correct attribute types and values the MathML equivalent element must take.
Table special_cases2!* contains all OpenMath symbols which require careful translation. For each element, a specific function is associated. These functions are specially designed to deal with these elements efficiently.
If a symbol is not contained within any of these tables, then the elements is considered unknown and the MathML extension mechanism is used to produce a reasonable translation.