This documentation module explains the XML implementation backends. More...
Classes | |
class | CLAM::DomDocumentHandler |
This class subclasses from the proper DomDocumentHandler depending on the build time configuration 'xmlbackend' option. More... | |
Modules | |
XML Backend for Gnome's libxml++ | |
XML Backend to compile with disabled XML | |
XML Backend for Apache's Xerces-C |
This documentation module explains the XML implementation backends.
CLAM supports different XML libraries as backend for the XML support. This can be done by implementing the DomDocumentHandler class and its nested classes, DomDocumentWritingContext and DomDocumentReadingContext.
A DocumentHandler provides the abstraction that CLAM::XmlStorage uses to perform its tasks: DOM construction and exploration, and file reading and writing.
Two inner classes (or typedefs) named DomDocumentReadingContext and DomDocumentWritingContext, must be defined. Those inner classes keeps the context while mapping for reading and writting CLAM::Objects to a given XML tree element.
Usually a XXXReader and a XXXWriter are implemented in order to build a DOM tree from an XML file and to write it given the DOM Document. The Document Handler also keeps the selected node in order to do partial operations like adding object on a given tree position or dumping a document fragment.
Currently, the following implementations are available: