Understanding the NCML Handler: Difference between revisions
From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
m (→BES Framework) |
mNo edit summary |
||
Line 7: | Line 7: | ||
The following sections list the classes/files that fall into these five categories along with some notes about those classes where appropriate. | The following sections list the classes/files that fall into these five categories along with some notes about those classes where appropriate. | ||
In the listing of classes, indentation is used to show parent-child relationships within the module. For classes that inherit from BES framework or libdap classes, ''child'': public ''parent'' is used. | |||
== Utilities == | == Utilities == |
Revision as of 19:06, 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.
In the listing of classes, indentation is used to show parent-child relationships within the module. For classes that inherit from BES framework or libdap classes, child: public parent is used.
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