SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SUMOSAXReader.h
Go to the documentation of this file.
1 /****************************************************************************/
7 // SAX-reader encapsulation containing binary reader
8 /****************************************************************************/
9 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
10 // Copyright (C) 2001-2014 DLR (http://www.dlr.de/) and contributors
11 /****************************************************************************/
12 //
13 // This file is part of SUMO.
14 // SUMO is free software: you can redistribute it and/or modify
15 // it under the terms of the GNU General Public License as published by
16 // the Free Software Foundation, either version 3 of the License, or
17 // (at your option) any later version.
18 //
19 /****************************************************************************/
20 #ifndef SUMOSAXReader_h
21 #define SUMOSAXReader_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #ifdef _MSC_VER
28 #include <windows_config.h>
29 #else
30 #include <config.h>
31 #endif
32 
33 #include <xercesc/sax2/SAX2XMLReader.hpp>
34 #include <xercesc/sax/EntityResolver.hpp>
35 #include <xercesc/sax/InputSource.hpp>
36 
37 
38 // ===========================================================================
39 // class declarations
40 // ===========================================================================
41 class GenericSAXHandler;
42 class BinaryInputDevice;
43 
44 
45 // ===========================================================================
46 // class definitions
47 // ===========================================================================
57 public:
63  SUMOSAXReader(GenericSAXHandler& handler, const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme);
64 
67 
73  void setHandler(GenericSAXHandler& handler);
74 
75  void setValidation(const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme);
76 
77  void parse(std::string systemID);
78 
79  void parseString(std::string content);
80 
81  bool parseFirst(std::string systemID);
82 
83  bool parseNext();
84 
85 private:
86  class LocalSchemaResolver : public XERCES_CPP_NAMESPACE::EntityResolver {
87  public:
88  XERCES_CPP_NAMESPACE::InputSource* resolveEntity(const XMLCh* const publicId, const XMLCh* const systemId);
89  };
90 
91 private:
102  XERCES_CPP_NAMESPACE::SAX2XMLReader* getSAXReader();
103 
104 
105 private:
107 
109  XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes myValidationScheme;
110 
111  XERCES_CPP_NAMESPACE::XMLPScanToken myToken;
112 
113  XERCES_CPP_NAMESPACE::SAX2XMLReader* myXMLReader;
114 
116 
118 
119 private:
121  SUMOSAXReader(const SUMOSAXReader& s);
122 
124  const SUMOSAXReader& operator=(const SUMOSAXReader& s);
125 
126 };
127 
128 
129 #endif
130 
131 /****************************************************************************/
const SUMOSAXReader & operator=(const SUMOSAXReader &s)
invalidated assignment operator
SUMOSAXReader(GenericSAXHandler &handler, const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme)
Constructor.
XERCES_CPP_NAMESPACE::SAX2XMLReader * getSAXReader()
Builds a reader.
SAX-reader encapsulation containing binary reader.
Definition: SUMOSAXReader.h:56
void setValidation(const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme)
XERCES_CPP_NAMESPACE::XMLPScanToken myToken
void parseString(std::string content)
BinaryInputDevice * myBinaryInput
A handler which converts occuring elements and attributes into enums.
void parse(std::string systemID)
XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes myValidationScheme
Information whether built reader/parser shall validate XML-documents against schemata.
bool parseFirst(std::string systemID)
XERCES_CPP_NAMESPACE::SAX2XMLReader * myXMLReader
void setHandler(GenericSAXHandler &handler)
Sets the given handler as content and error handler for the reader.
LocalSchemaResolver mySchemaResolver
XERCES_CPP_NAMESPACE::InputSource * resolveEntity(const XMLCh *const publicId, const XMLCh *const systemId)
~SUMOSAXReader()
Destructor.
Encapsulates binary reading operations on a file.
GenericSAXHandler * myHandler