Understanding the NCML Handler: Difference between revisions
From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
m (→NCML Parser) |
m (→BES Framework) |
||
Line 11: | Line 11: | ||
== BES Framework == | == BES Framework == | ||
# NCMLModule: public BESAbstractModule | |||
# NCMLRequestHandler: public BESRequestHandler | |||
# NCMLContainer: public BESContainer | |||
# NCMLContainerStorage: public BESContainerStorageVolatile | |||
== NCML Parser == | == NCML Parser == |
Revision as of 19:03, 12 August 2015
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
- NCMLModule: public BESAbstractModule
- NCMLRequestHandler: public BESRequestHandler
- NCMLContainer: public BESContainer
- NCMLContainerStorage: public BESContainerStorageVolatile
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