Class Encoder

The function of the encoder is to traverse a tree of objects seializing them
out as xml as it goes. Navigation and serialization of the tree is performed by
instances of Binding which are bound to types in the
schema.

To execute the encoder, one must have 3 bits of information:

The root object in the tree to be encoded

The schema / configuration of the intsance document being encoded.

A name of the element defined in the schema which corresponds to the
root object in the tree.