Document Type


Publication Date



XML has been emerging as a standard format for data representation on the web. In many application domains, specific document type definitions (DTDs) are designed to enforce the structure (schema) of the XML documents. However, both the data and the structure of XML documents tend to change over time for a multitude of reasons, including to correct design errors in the DTD, to allow expansion of the application scope over time, or to account for environmental changes such as the merging of several businesses into one. Most of the current software tools that enable the use of XML do not provide explicit support for such data or schema changes. Using these tools in a changing environment entails first making manual edits to DTDs and XML documents and thereafter reloading them from scratch. To overcome this limitation, we put forth a framework, called the XML Evolution Manager (XEM), to manage the evolution of DTDs and XML documents. XEM provides a minimal yet complete taxonomy of basic change primitives. These primitives, classified as either schema or data changes, are consistency-preserving. For a schema change, they ensure that the new DTD is legal, and all existing XML documents are transformed to also conform to the modified DTD. For a data change, they ensure that the update is only performed if the modified XML document would conform to its DTD. We have implemented a working prototype system called XEM-Tool in Java with PSE Pro Object Oriented Database as our backend storage system. Our experimental study using this system compares the relative efficiencies of using these the primitive operations for in-place XML data and schema changes in terms of their execution times against the time to reload the modified XML data into the backend OO storage system.