Understanding the NCML Handler
From OPeNDAP Documentation
The NCML handler has 53 classes. The classes fall into four broad categories:
- Utilities
- Used to perform various routine tasks (namespace agg_util)
- BES Framework
- Used to instantiate the module and provide interface hooks for the BES DAP module (namespace ncml_module)
- NCML Parser
- A SAX2 parser that uses the NCML text to build one or more DAP objects (DDS, DataDDS, etc.) (namespace ncml_module)
- AIS code
- Classes that add, modify or remove variables and attributes. (namespace ncml_module)
- Aggregation code
- Classes that build Join New and Join Existing aggregations (namespace ncml_module)
The following sections list the classes/files that fall into these five categories along with some notes about those classes where appropriate.
Utilities
BES Framework
NCML Parser
The classes the make up the core of the SAX2 parser are:
- SaxParser
- SimpleLocationParser
- SimpleTimeParser
- XMLHelper
- SaxParserWrapper
Those classes are augmented by the Element classes that are used to build the in-memory objects the NCML needs to carry out the AIS or Aggregation tasks specified by a given NCML file. They are:
- NCMLElement
- AggregationElement
- AttributeElement
- DimensionElement
- ExplicitElement
- NetcdfElement
- ReadMetadataElement
- RemoveElement
- ValuesElement
- ScanElement
- VariableElement
- VariableAggElement