80 if (!p.isScopeNetcdf())
83 "Got <explicit/> while not a direct child of a <netcdf>");
93 " element but we already got a metadata directive for the current dataset! Only one may be specified.");
98 p.clearAllAttrTables(dataset->
getDDS());
107 "Got non-whitespace for element content and didn't expect it. Element=" +
toString() +
" content=\"" +
virtual bool validateAttributes(const XMLAttributeMap &attrs, const vector< string > &validAttrs, vector< string > *pInvalidAttrs=0, bool printInvalid=true, bool throwOnError=true)
Check that the given attributes are all in the valid set, otherwise fill in *pInvalidAttrs with the p...
virtual ~ExplicitElement()
virtual ExplicitElement * clone() const
Make and return a copy of this.
An abstract superclass for NCMLArray that handles the non-parameterized functionality and allows u...
static const string _sTypeName
virtual void handleEnd()
Handle the closing of this element.
static bool isAllWhitespace(const std::string &str)
Is all the string whitespace as defined by chars in WHITESPACE ?
Concrete class for NcML element.
virtual const libdap::DDS * getDDS() const
Return the DDS for this dataset, loading it in if needed.
int getParseLineNumber() const
Get the line of the NCML file the parser is currently parsing.
static const vector< string > _sValidAttributes
virtual void handleBegin()
Handle a begin on this element.
bool getProcessedMetadataDirective() const
#define THROW_NCML_PARSE_ERROR(parseLine, msg)
virtual string toString() const
Return a string describing the element.
Base class for NcML element concrete classes.
virtual const string & getTypeName() const
Return the type of the element, which should be: the same as ConcreteClassName::getTypeName() ...
void setProcessedMetadataDirective()
Concrete class for NcML element.
virtual void handleContent(const string &content)
Handle the characters content for the element.
virtual void setAttributes(const XMLAttributeMap &attrs)
Set the attributes of this from the map.