27 #ifndef NIDAS_CORE_DOMABLE_H
28 #define NIDAS_CORE_DOMABLE_H
36 #include <xercesc/util/XMLUniDefs.hpp>
37 #include <xercesc/util/XMLString.hpp>
38 #include <xercesc/dom/DOMDocument.hpp>
39 #include <xercesc/dom/DOMNode.hpp>
40 #include <xercesc/dom/DOMElement.hpp>
41 #include <xercesc/dom/DOMException.hpp>
42 #include <xercesc/dom/DOMNamedNodeMap.hpp>
44 namespace nidas {
namespace core {
63 throw(nidas::util::InvalidParameterException) = 0;
68 virtual xercesc::DOMElement*
69 toDOMParent(xercesc::DOMElement* parent,
bool complete) const
70 throw(xercesc::DOMException);
75 virtual xercesc::DOMElement*
76 toDOMElement(xercesc::DOMElement* node,
bool complete) const
77 throw(xercesc::DOMException);
81 xercesc::XMLString::transcode(
82 "http://www.eol.ucar.edu/nidas");
151 #define NIDAS_CREATOR_FUNCTION(CLASSNAME) \
153 nidas::core::DOMable* create_nidas_dynld_##CLASSNAME()\
155 return new nidas::dynld::CLASSNAME();\
165 #define NIDAS_CREATOR_FUNCTION_NS(NS,CLASSNAME) \
167 nidas::core::DOMable* create_nidas_dynld_##NS##_##CLASSNAME()\
169 return new nidas::dynld::NS::CLASSNAME();\
static const XMLCh * getNamespaceURI()
Definition: DOMable.h:79
virtual void fromDOMElement(const xercesc::DOMElement *)=0
Initialize myself from a xercesc::DOMElement.
virtual xercesc::DOMElement * toDOMParent(xercesc::DOMElement *parent, bool complete) const
Create a DOMElement and append it to the parent.
Definition: DOMable.cc:41
virtual xercesc::DOMElement * toDOMElement(xercesc::DOMElement *node, bool complete) const
Add my content into a DOMElement.
Definition: DOMable.cc:66
Interface of an object that can be instantiated from a DOM element, via the fromDOMElement method...
Definition: DOMable.h:51
virtual ~DOMable()
Virtual destructor.
Definition: DOMable.h:57
static XMLCh * namespaceURI
Definition: DOMable.h:87