Eclipse SUMO - Simulation of Urban MObility
SUMOSAXReader Class Reference

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

#include <SUMOSAXReader.h>

Collaboration diagram for SUMOSAXReader:
[legend]

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, XERCES_CPP_NAMESPACE::XMLGrammarPool *grammarPool)
 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

XERCES_CPP_NAMESPACE::XMLGrammarPool * myGrammarPool
 Schema cache to be used for grammars which are not declared. More...
 
GenericSAXHandlermyHandler
 
std::unique_ptr< IStreamInputSourcemyInputStream
 
std::unique_ptr< std::istream > myIStream
 
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 52 of file SUMOSAXReader.h.

Constructor & Destructor Documentation

◆ SUMOSAXReader() [1/2]

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

Constructor.

Parameters
[in]fileThe name of the processed file

◆ ~SUMOSAXReader()

SUMOSAXReader::~SUMOSAXReader ( )

Destructor.

Definition at line 55 of file SUMOSAXReader.cpp.

References myXMLReader.

◆ SUMOSAXReader() [2/2]

SUMOSAXReader::SUMOSAXReader ( const SUMOSAXReader s)
private

invalidated copy constructor

Member Function Documentation

◆ getSAXReader()

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 149 of file SUMOSAXReader.cpp.

References myGrammarPool, myHandler, mySchemaResolver, and myValidationScheme.

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

Here is the caller graph for this function:

◆ operator=()

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

invalidated assignment operator

◆ parse()

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

◆ parseFirst()

bool SUMOSAXReader::parseFirst ( std::string  systemID)

Definition at line 121 of file SUMOSAXReader.cpp.

References getSAXReader(), FileHelpers::isReadable(), myInputStream, myIStream, myToken, and myXMLReader.

Referenced by PCNetProjectionLoader::load(), and SUMORouteLoader::SUMORouteLoader().

Here is the caller graph for this function:

◆ parseNext()

bool SUMOSAXReader::parseNext ( )

Definition at line 140 of file SUMOSAXReader.cpp.

References myToken, and myXMLReader.

Referenced by PCNetProjectionLoader::load(), and SUMORouteLoader::loadUntil().

Here is the caller graph for this function:

◆ parseString()

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

Definition at line 111 of file SUMOSAXReader.cpp.

References getSAXReader(), and myXMLReader.

Referenced by GUISettingsHandler::GUISettingsHandler(), NITypeLoader::load(), and main().

Here is the caller graph for this function:

◆ 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 61 of file SUMOSAXReader.cpp.

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

◆ setValidation()

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

Definition at line 72 of file SUMOSAXReader.cpp.

References mySchemaResolver, myValidationScheme, and myXMLReader.

Field Documentation

◆ myGrammarPool

XERCES_CPP_NAMESPACE::XMLGrammarPool* SUMOSAXReader::myGrammarPool
private

Schema cache to be used for grammars which are not declared.

Definition at line 111 of file SUMOSAXReader.h.

Referenced by getSAXReader().

◆ myHandler

GenericSAXHandler* SUMOSAXReader::myHandler
private

◆ myInputStream

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

Definition at line 119 of file SUMOSAXReader.h.

Referenced by parseFirst().

◆ myIStream

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

Definition at line 117 of file SUMOSAXReader.h.

Referenced by parseFirst().

◆ mySchemaResolver

LocalSchemaResolver SUMOSAXReader::mySchemaResolver
private

Definition at line 124 of file SUMOSAXReader.h.

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

◆ myToken

XERCES_CPP_NAMESPACE::XMLPScanToken SUMOSAXReader::myToken
private

Definition at line 113 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 108 of file SUMOSAXReader.h.

Referenced by getSAXReader(), 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 122 of file SUMOSAXReader.h.


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