Systems, methods, and computer program products for management of data
that is stored in a hierarchical format such as, e.g., a relational
database, when the data is retrieved and manipulated using a
schema-driven format such as, e.g., XML are disclosed. In one
implementation a copy of the XML data retrieved from the database and is
generated and each logical unit in at least one of the original XML data
or the copy of the XML data is annotated in a manner that uniquely
identifies each logical unit. For example, each XML node may be assigned
a unique numerical or string identifier. As the data is manipulated,
algorithms may be implemented to use the annotations to track changes to
the XML data and to ensure that the manipulated XML data complies with
one or more required data formats. When the XML data is ready to be
transferred back to the database(s) from which it was obtained, a series
of operations are implemented to validate the data and to determine the
nature of operation to be performed to restore the data to the databases.