29 #ifndef __NCML_MODULE__VARIABLE_ELEMENT_H__ 30 #define __NCML_MODULE__VARIABLE_ELEMENT_H__ 32 #include "NCMLElement.h" 63 static const string _sTypeName;
64 static const vector<string> _sValidAttributes;
77 const std::string name()
const 82 const std::string type()
const 87 const std::string shape()
const 92 const std::string orgName()
const 134 void processExistingVariable(
NCMLParser& p, libdap::BaseType* pVar);
151 void processRenameVariableDataWorker(
NCMLParser& p, libdap::BaseType* pOrgVar);
181 void processNewScalar(
NCMLParser& p,
const std::string& dapType);
195 void processNewArray(
NCMLParser& p,
const std::string& dapType);
204 libdap::BaseType* replaceArrayIfNeeded(
NCMLParser& p, libdap::BaseType* pOrgVar,
const string& name);
215 void addNewVariableAndEnterScope(
NCMLParser& p,
const std::string& dapType);
220 void enterScope(
NCMLParser& p, libdap::BaseType* pVar);
228 bool isDimensionNumericConstant(
const std::string& dimToken)
const;
233 unsigned int getSizeForDimension(
NCMLParser& p,
const std::string& dimToken)
const;
250 unsigned int getProductOfDimensionSizes(
NCMLParser& p)
const;
252 static vector<string> getValidAttributes();
263 vector<string> _shapeTokens;
266 libdap::BaseType* _pNewlyCreatedVar;
virtual void setAttributes(const XMLAttributeMap &attrs)
NcML Parser for adding/modifying/removing metadata (attributes) to existing local datasets using NcML...
virtual string toString() const
virtual void handleBegin()
bool checkGotValues() const
bool isNewVariable() const
virtual void handleContent(const string &content)
Base class for NcML element concrete classes.
virtual VariableElement * clone() const
Concrete class for NcML <variable> element.
virtual const string & getTypeName() const