OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
SimpleLocationParser.h
Go to the documentation of this file.
1 // This file is part of the "NcML Module" project, a BES module designed
3 // to allow NcML files to be used to be used as a wrapper to add
4 // AIS to existing datasets of any format.
5 //
6 // Copyright (c) 2009 OPeNDAP, Inc.
7 // Author: Michael Johnson <m.johnson@opendap.org>
8 //
9 // For more information, please also see the main website: http://opendap.org/
10 //
11 // This library is free software; you can redistribute it and/or
12 // modify it under the terms of the GNU Lesser General Public
13 // License as published by the Free Software Foundation; either
14 // version 2.1 of the License, or (at your option) any later version.
15 //
16 // This library is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 // Lesser General Public License for more details.
20 //
21 // You should have received a copy of the GNU Lesser General Public
22 // License along with this library; if not, write to the Free Software
23 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 //
25 // Please see the files COPYING and COPYRIGHT for more information on the GLPL.
26 //
27 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
29 
30 #ifndef __NCML_MODULE__SIMPLE_LOCATION_PARSER_H__
31 #define __NCML_MODULE__SIMPLE_LOCATION_PARSER_H__
32 
33 #include "SaxParser.h"
34 #include "XMLHelpers.h"
35 
36 namespace ncml_module
37 {
48  {
49  private:
50  std::string _location;
51 
52  public:
54  virtual ~SimpleLocationParser();
55 
61  std::string parseAndGetLocation(const std::string& filename);
62 
64  virtual void onStartDocument() { }
65  virtual void onEndDocument() { }
66 
68  virtual void onStartElement(const std::string& name, const XMLAttributeMap& attrs);
69 
70  virtual void onEndElement(const std::string& /* name */) { }
71  virtual void onCharacters(const std::string& /* content */) { };
72 
73  virtual void onParseWarning(std::string msg);
74  virtual void onParseError(std::string msg);
75  };
76 
77 }
78 
79 #endif /* __NCML_MODULE__SIMPLE_LOCATION_PARSER_H__ */
std::string parseAndGetLocation(const std::string &filename)
Parse the NcML filename and return the netcdf attribute, assuming there's only one netCDF node...
SaxParser implementation that just grabs the netcdf attribute and returns it.
An abstract superclass for NCMLArray that handles the non-parameterized functionality and allows u...
virtual void onParseWarning(std::string msg)
A recoverable parse error occured.
virtual void onStartElement(const std::string &name, const XMLAttributeMap &attrs)
We only use this get the the nedcdf attribute out.
virtual void onEndElement(const std::string &)
virtual void onParseError(std::string msg)
An unrecoverable parse error occurred.
Interface class for the wrapper between libxml C SAX parser and our NCMLParser.
Definition: SaxParser.h:49
virtual void onCharacters(const std::string &)
Called when characters are encountered within an element.