Described herein are techniques that allow applications developed in
non-object oriented languages, such as C, to interact with DOM trees
implemented under different DOM implementations. An application accesses
different DOM implementations through a set of function pointers that
conform to a set of function signatures. The set of function pointers may
be stored in a data structure defined to have member function pointers
that point to functions that conform to the set of function signatures.
The set of function signatures define a common interface through which
applications may interact with a variety of DOM implementations. One or
more applications generate the set of function pointers and store them in
a data structure. The other applications register the function pointers
with an application by, for example, passing a pointer to the data
structure to the application.