When processing a document, the application should decide on
the classes to be used depending on (a) the markup language
of the document and (b) how the document is to be processed.
For serialization, the mapping should be specified in the
document.
But we should be able to mix these. The serialized objects are
a document, conformant to the serialization markup language.
And it may be necessary to process it to (a) make it conformant
with a revised set of classes or (b) extract information for a
previously unintended use.