Techniques are disclosed for serializing objects (such as Java.TM.
objects), and deserializing those objects, in a manner that enables
contents of the objects to be preserved following changes to definitions
of the object structures. Objects are serialized using documents encoded
in a markup language (such as Extensible Markup Language, or "XML"). The
serialized objects thereby capture class definition information for the
class definition which was in effect when the object was serialized.
Subsequently, if the class definition is changed, techniques disclosed
herein enable deserializing the information from the markup language
document to an object that uses the new class definition, without
requiring access to a programming language specification of the
now-obsolete class definition.