SUMO - Simulation of Urban MObility
SUMOSAXReader.h
Go to the documentation of this file.
1 /****************************************************************************/
9 // SAX-reader encapsulation containing binary reader
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
12 // Copyright (C) 2012-2016 DLR (http://www.dlr.de/) and contributors
13 /****************************************************************************/
14 //
15 // This file is part of SUMO.
16 // SUMO is free software: you can redistribute it and/or modify
17 // it under the terms of the GNU General Public License as published by
18 // the Free Software Foundation, either version 3 of the License, or
19 // (at your option) any later version.
20 //
21 /****************************************************************************/
22 #ifndef SUMOSAXReader_h
23 #define SUMOSAXReader_h
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include <xercesc/sax2/SAX2XMLReader.hpp>
36 #include <xercesc/sax/EntityResolver.hpp>
37 #include <xercesc/sax/InputSource.hpp>
38 
39 
40 // ===========================================================================
41 // class declarations
42 // ===========================================================================
43 class GenericSAXHandler;
44 class BinaryInputDevice;
45 
46 
47 // ===========================================================================
48 // class definitions
49 // ===========================================================================
59 public:
65  SUMOSAXReader(GenericSAXHandler& handler, const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme);
66 
69 
75  void setHandler(GenericSAXHandler& handler);
76 
77  void setValidation(const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme);
78 
79  void parse(std::string systemID);
80 
81  void parseString(std::string content);
82 
83  bool parseFirst(std::string systemID);
84 
85  bool parseNext();
86 
87 private:
88  class LocalSchemaResolver : public XERCES_CPP_NAMESPACE::EntityResolver {
89  public:
90  XERCES_CPP_NAMESPACE::InputSource* resolveEntity(const XMLCh* const publicId, const XMLCh* const systemId);
91  };
92 
93 private:
104  XERCES_CPP_NAMESPACE::SAX2XMLReader* getSAXReader();
105 
106 
107 private:
109 
111  XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes myValidationScheme;
112 
113  XERCES_CPP_NAMESPACE::XMLPScanToken myToken;
114 
115  XERCES_CPP_NAMESPACE::SAX2XMLReader* myXMLReader;
116 
118 
120 
121 private:
123  SUMOSAXReader(const SUMOSAXReader& s);
124 
126  const SUMOSAXReader& operator=(const SUMOSAXReader& s);
127 
128 };
129 
130 
131 #endif
132 
133 /****************************************************************************/
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:58
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