bes
Updated for version 3.20.6
|
29 #ifndef __NCML_MODULE__NCMLELEMENT_H__
30 #define __NCML_MODULE__NCMLELEMENT_H__
34 #include "XMLHelpers.h"
95 typedef std::vector<const NCMLElement*> ProtoList;
105 ProtoList::iterator findPrototype(
const std::string& elementTypeName);
130 virtual const std::string&
getTypeName()
const = 0;
149 std::vector<std::string>* pInvalidAttrs = 0,
bool printInvalid =
true,
bool throwOnError =
true);
168 virtual std::string
toString()
const = 0;
177 static bool isValidAttribute(
const std::vector<std::string>& validAttrs,
const std::string& attr);
183 std::vector<std::string>* pInvalidAttributes = 0);
193 inline std::ostream &
virtual void handleEnd()=0
RCPtr< NCMLElement > makeElement(const std::string &eltTypeName, const XMLAttributeMap &attrs, NCMLParser &parser)
virtual void handleBegin()=0
static std::string printAttributeIfNotEmpty(const std::string &attrName, const std::string &attrValue)
virtual void handleContent(const std::string &content)
A base class for a simple reference counted object.
static bool areAllAttributesValid(const XMLAttributeMap &attrMap, const std::vector< std::string > &validAttrs, std::vector< std::string > *pInvalidAttributes=0)
Base class for NcML element concrete classes.
virtual std::string toString() const =0
NcML Parser for adding/modifying/removing metadata (attributes) to existing local datasets using NcML...
A reference to an RCObject which automatically ref() and deref() on creation and destruction.
virtual const std::string & getTypeName() const =0
virtual NCMLElement * clone() const =0
static bool isValidAttribute(const std::vector< std::string > &validAttrs, const std::string &attr)
virtual bool validateAttributes(const XMLAttributeMap &attrs, const std::vector< std::string > &validAttrs, std::vector< std::string > *pInvalidAttrs=0, bool printInvalid=true, bool throwOnError=true)
virtual void setAttributes(const XMLAttributeMap &attrs)=0