S. Linev (GSI)
Till now, ROOT objects can be stored only in a binary ROOT specific file format. Without the ROOT environment the data stored in such files are not directly accessible. Storing objects in XML format makes it easy to view and edit (with some restriction) the object data directly. It is also plausible to use XML as exchange format with other applications. Therefore XML streaming has been implemented in ROOT. Any object which is in the ROOT dictionary can be stored/retrieved in XML format. Two layouts of object representation in XML are supported: class-dependent and generic. In the first case all XML tag names are derived from class and member names. To avoid name intersections, XML namespaces for each class are used. A Document Type Definition (DTD) file is automatically generated for each class (or set of classes). It can be used to validate the structure of the XML document. The generic layout of XML files includes tag names like "Object", "Member", "Item" and so on. In this case the DTD is common for all produced XML files. Further development is required to provide tools for accessing created XML files from other applications like: pure C++ code without ROOT libraries and dictionaries, Java and so on.