Speaker
S. Linev
(GSI)
Description
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.