bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
SaxParser.h
1
2// 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#ifndef __NCML_MODULE__SAX_PARSER_H__
30#define __NCML_MODULE__SAX_PARSER_H__
31
32#include <string>
33
34namespace ncml_module {
35// FDecls
36class XMLAttributeMap;
37class XMLNamespaceMap;
38
48class SaxParser {
49protected:
50 SaxParser(); // Interface class
51
52public:
53 virtual ~SaxParser()
54 {
55 }
56
57 virtual void onStartDocument() = 0;
58 virtual void onEndDocument() = 0;
59
67 virtual void onStartElement(const std::string& name, const XMLAttributeMap& attrs) = 0;
68
73 virtual void onEndElement(const std::string& name) = 0;
74
84
85 virtual void onStartElementWithNamespace(const std::string& localname, const std::string& prefix,
86 const std::string& uri, const XMLAttributeMap& attributes, const XMLNamespaceMap& namespaces) = 0;
87
93 virtual void onEndElementWithNamespace(const std::string& localname, const std::string& prefix,
94 const std::string& uri) = 0;
95
100 virtual void onCharacters(const std::string& content) = 0;
101
103 virtual void onParseWarning(std::string msg) = 0;
104
106 virtual void onParseError(std::string msg) = 0;
107
113 virtual void setParseLineNumber(int /* line */)
114 {
115 }
116
117};
118// class SaxParser
119
120}// namespace ncml_module
121
122#endif /* __NCML_MODULE__SAX_PARSER_H__ */
virtual void onStartElement(const std::string &name, const XMLAttributeMap &attrs)=0
virtual void onParseError(std::string msg)=0
virtual void onCharacters(const std::string &content)=0
virtual void onStartElementWithNamespace(const std::string &localname, const std::string &prefix, const std::string &uri, const XMLAttributeMap &attributes, const XMLNamespaceMap &namespaces)=0
virtual void onEndElementWithNamespace(const std::string &localname, const std::string &prefix, const std::string &uri)=0
virtual void onParseWarning(std::string msg)=0
virtual void onEndElement(const std::string &name)=0
virtual void setParseLineNumber(int)
Definition SaxParser.h:113
NcML Parser for adding/modifying/removing metadata (attributes) to existing local datasets using NcML...