Eclipse SUMO - Simulation of Urban MObility
SUMOSAXReader Class Reference

SAX-reader encapsulation containing binary reader. More...

#include <SUMOSAXReader.h>

Collaboration diagram for SUMOSAXReader:

Data Structures

class  LocalSchemaResolver
 

Public Member Functions

void parse (std::string systemID)
 
bool parseFirst (std::string systemID)
 
bool parseNext ()
 
void parseString (std::string content)
 
void setHandler (GenericSAXHandler &handler)
 Sets the given handler as content and error handler for the reader. More...
 
void setValidation (const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme)
 
 SUMOSAXReader (GenericSAXHandler &handler, const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes validationScheme)
 Constructor. More...
 
 ~SUMOSAXReader ()
 Destructor. More...
 

Private Member Functions

XERCES_CPP_NAMESPACE::SAX2XMLReader * getSAXReader ()
 Builds a reader. More...
 
const SUMOSAXReaderoperator= (const SUMOSAXReader &s)
 invalidated assignment operator More...
 
 SUMOSAXReader (const SUMOSAXReader &s)
 invalidated copy constructor More...
 

Private Attributes

BinaryInputDevicemyBinaryInput
 
GenericSAXHandlermyHandler
 
std::unique_ptr< IStreamInputSourcemyInputStream
 
std::unique_ptr< std::istream > myIStream
 
char mySbxVersion
 
LocalSchemaResolver mySchemaResolver
 
XERCES_CPP_NAMESPACE::XMLPScanToken myToken
 
XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes myValidationScheme
 Information whether built reader/parser shall validate XML-documents against schemata. More...
 
XERCES_CPP_NAMESPACE::SAX2XMLReader * myXMLReader
 
std::vector< SumoXMLTagmyXMLStack
 The stack of begun xml elements. More...
 

Detailed Description

SAX-reader encapsulation containing binary reader.

This class generates on demand either a SAX2XMLReader or parses the SUMO binary xml. The interface is inspired by but not identical to SAX2XMLReader.

Definition at line 56 of file SUMOSAXReader.h.

Constructor & Destructor Documentation

◆ SUMOSAXReader() [1/2]

SUMOSAXReader::SUMOSAXReader ( GenericSAXHandler handler,
const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes  validationScheme 
)

Constructor.

Parameters
[in]fileThe name of the processed file

Definition at line 50 of file SUMOSAXReader.cpp.

References setHandler().

◆ ~SUMOSAXReader()

SUMOSAXReader::~SUMOSAXReader ( )

Destructor.

Definition at line 56 of file SUMOSAXReader.cpp.

References myBinaryInput, and myXMLReader.

◆ SUMOSAXReader() [2/2]

SUMOSAXReader::SUMOSAXReader ( const SUMOSAXReader s)
private

invalidated copy constructor

Member Function Documentation

◆ getSAXReader()

XERCES_CPP_NAMESPACE::SAX2XMLReader * SUMOSAXReader::getSAXReader ( )
private

Builds a reader.

Tries to build a SAX2XMLReader using XMLReaderFactory::createXMLReader. If this fails, 0 is returned. Otherwise the validation is set matching the value of "myEnableValidation". If validation is not wanted, a WFXMLScanner is used (see http://www.ibm.com/developerworks/library/x-xercesperf.html).

Returns
The built Xerces-SAX-reader, 0 if something failed

Definition at line 219 of file SUMOSAXReader.cpp.

References myHandler, mySchemaResolver, and myValidationScheme.

Referenced by parse(), parseFirst(), and parseString().

◆ operator=()

const SUMOSAXReader& SUMOSAXReader::operator= ( const SUMOSAXReader s)
private

invalidated assignment operator

◆ parse()

void SUMOSAXReader::parse ( std::string  systemID)

◆ parseFirst()

◆ parseNext()

◆ parseString()

void SUMOSAXReader::parseString ( std::string  content)

◆ setHandler()

void SUMOSAXReader::setHandler ( GenericSAXHandler handler)

Sets the given handler as content and error handler for the reader.

Parameters
[in]handlerThe handler to assign to the reader

Definition at line 63 of file SUMOSAXReader.cpp.

References myHandler, mySchemaResolver, myXMLReader, and SUMOSAXReader::LocalSchemaResolver::setHandler().

Referenced by SUMOSAXReader().

◆ setValidation()

void SUMOSAXReader::setValidation ( const XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes  validationScheme)

Definition at line 74 of file SUMOSAXReader.cpp.

References mySchemaResolver, myValidationScheme, and myXMLReader.

Field Documentation

◆ myBinaryInput

BinaryInputDevice* SUMOSAXReader::myBinaryInput
private

Definition at line 118 of file SUMOSAXReader.h.

Referenced by parseFirst(), parseNext(), and ~SUMOSAXReader().

◆ myHandler

◆ myInputStream

std::unique_ptr<IStreamInputSource> SUMOSAXReader::myInputStream
private

Definition at line 122 of file SUMOSAXReader.h.

Referenced by parseFirst().

◆ myIStream

std::unique_ptr<std::istream> SUMOSAXReader::myIStream
private

Definition at line 120 of file SUMOSAXReader.h.

Referenced by parseFirst().

◆ mySbxVersion

char SUMOSAXReader::mySbxVersion
private

Definition at line 124 of file SUMOSAXReader.h.

Referenced by parseFirst(), and parseNext().

◆ mySchemaResolver

LocalSchemaResolver SUMOSAXReader::mySchemaResolver
private

Definition at line 129 of file SUMOSAXReader.h.

Referenced by getSAXReader(), setHandler(), and setValidation().

◆ myToken

XERCES_CPP_NAMESPACE::XMLPScanToken SUMOSAXReader::myToken
private

Definition at line 114 of file SUMOSAXReader.h.

Referenced by parseFirst(), and parseNext().

◆ myValidationScheme

XERCES_CPP_NAMESPACE::SAX2XMLReader::ValSchemes SUMOSAXReader::myValidationScheme
private

Information whether built reader/parser shall validate XML-documents against schemata.

Definition at line 112 of file SUMOSAXReader.h.

Referenced by getSAXReader(), parseFirst(), and setValidation().

◆ myXMLReader

XERCES_CPP_NAMESPACE::SAX2XMLReader* SUMOSAXReader::myXMLReader
private

◆ myXMLStack

std::vector<SumoXMLTag> SUMOSAXReader::myXMLStack
private

The stack of begun xml elements.

Definition at line 127 of file SUMOSAXReader.h.

Referenced by parseNext().


The documentation for this class was generated from the following files: