The concept of "renderers" and "translators" is introduced in connection
with bidirectional conversion between object models and XML. A renderer
embodies the logic responsible for mediating the parser specific APIs for
reading and writing XML. It utilizes a plurality of translator objects,
which embody the mapping information needed to convert the XML into
object model instances. The translator objects themselves do not contain
"knowledge" of parser implementations; thus, the translators are common
and can be shared and reused by any and all renderer implementations.
Since each translator embodies the knowledge and rules regarding how to
convert an XML model to an object model, and how to convert object models
to XML, it is thus independent of the particular renderer that is being
used, whether it be SAX, DOM, or some other renderer.