XMLParser.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 
21 #ifndef __TERRALIB_WS_OGC_WCS_XMLPARSER_WMS_H
22 #define __TERRALIB_WS_OGC_WCS_XMLPARSER_WMS_H
23 
24 #include "DataTypes.h"
25 
26 // TerraLib
27 #include "../../../../xml.h"
28 
29 namespace te
30 {
31  namespace ws
32  {
33  namespace ogc
34  {
35  namespace wms
36  {
37  /*!
38  \class XMLParser
39 
40  \brief A class responsible to parse WMS XML files to WMS TerraLib data types.
41  */
43  {
44  public:
45 
46  XMLParser();
47 
48  virtual ~XMLParser();
49 
50  /*!
51  \brief Method responsible to parse a WMS XML GetCapabilities file and
52  create an WMSCapabilities instance with document metadata.
53 
54  \param xmlPath path of the file that will be parsed.
55 
56  \return Return the WMS Server Capabilities
57  */
58  virtual WMSCapabilities parseCapabilities(const std::string& xmlPath);
59 
60  Capability parseCapability(const std::auto_ptr<te::xml::Reader>& reader);
61 
62  Request parseRequest(const std::auto_ptr<te::xml::Reader>& reader);
63 
64  Layer parseLayers(const std::auto_ptr<te::xml::Reader>& reader);
65 
66  GeographicBoundingBox parseGeographicBoundingBox(const std::auto_ptr<te::xml::Reader>& reader);
67 
68  BoundingBox parseBoundingBox(const std::auto_ptr<te::xml::Reader>& reader);
69 
70  Dimension parseDimension(const std::auto_ptr<te::xml::Reader>& reader);
71 
72  Style parseStyle(const std::auto_ptr<te::xml::Reader>& reader);
73 
74  LegendURL parseLegendURL(const std::auto_ptr<te::xml::Reader>& reader);
75 
76  OnlineResource parseOnlineResource(const std::auto_ptr<te::xml::Reader>& reader);
77 
78  StyleSheetURL parseStyleSheetURL(const std::auto_ptr<te::xml::Reader>& reader);
79 
80  StyleURL parseStyleURL(const std::auto_ptr<te::xml::Reader>& reader);
81 
82  Operation parseOperation(const std::auto_ptr<te::xml::Reader>& reader, const std::string& operationName);
83 
84  HTTP parseHTTP(const std::auto_ptr<te::xml::Reader>& reader);
85 
86  };
87  }
88  }
89  }
90 }
91 
92 #endif //__TERRALIB_WS_OGC_WCS_XMLPARSER_WMS_H
The Capability WMS 1.3.0 struct.
Definition: DataTypes.h:263
#define TEOGCWMSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:90
The Capability WMS 1.3.0 struct.
Definition: DataTypes.h:275
A class responsible to parse WMS XML files to WMS TerraLib data types.
Definition: XMLParser.h:42
URI C++ Library.
The Dimension WMS 1.3.0 struct.
Definition: DataTypes.h:115
The Operation WMS 1.3.0 struct.
Definition: DataTypes.h:159
The Layer WMS 1.3.0 struct.
Definition: DataTypes.h:212
The OnlineResource WMS 1.3.0 struct.
Definition: DataTypes.h:53
The LegendURL WMS 1.3.0 struct.
Definition: DataTypes.h:140
The Style WMS 1.3.0 struct.
Definition: DataTypes.h:197
The Request WMS 1.3.0 struct.
Definition: DataTypes.h:250
The StyleSheeetURL WMS 1.3.0 struct.
Definition: DataTypes.h:170
Specifies containers for WMS data types.
The GeographicBoundingBox WMS 1.3.0 struct.
Definition: DataTypes.h:70
The StyleURL WMS 1.3.0 struct.
Definition: DataTypes.h:185
The BoundingBox WMS 1.3.0 struct.
Definition: DataTypes.h:90