SUMO - Simulation of Urban MObility
MSTriggeredXMLReader Class Reference

#include <MSTriggeredXMLReader.h>

Inheritance diagram for MSTriggeredXMLReader:
MSTriggeredReader SUMOSAXHandler GenericSAXHandler DefaultHandler

Public Member Functions

void characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
 The inherited method called when characters occured.
void endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
 The inherited method called when a tag is being closed.
const std::string & getFileName () const
 returns the current file name
void init ()
bool isInitialised () const
void registerParent (const int tag, GenericSAXHandler *handler)
 Assigning a parent handler which is enabled when the specified tag is closed.
void setFileName (const std::string &name)
 Sets the current file name.
void startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs)
 The inherited method called when a new tag opens.
SUMOTime wrappedExecute (SUMOTime current)
virtual ~MSTriggeredXMLReader ()
 Destructor.
SAX ErrorHandler callbacks
void warning (const SAXParseException &exception)
 Handler for XML-warnings.
void error (const SAXParseException &exception)
 Handler for XML-errors.
void fatalError (const SAXParseException &exception)
 Handler for XML-errors.

Protected Member Functions

std::string buildErrorMessage (const SAXParseException &exception)
 Builds an error message.
virtual void inputEndReached ()=0
 MSTriggeredXMLReader (MSNet &net, const std::string &filename)
 Constructor (for derived classes)
virtual void myCharacters (int element, const std::string &chars)
 Callback method for characters to implement by derived classes.
virtual void myEndElement (int element)
 Callback method for a closing tag to implement by derived classes.
void myInit ()
virtual void myStartElement (int element, const SUMOSAXAttributes &attrs)
 Callback method for an opening tag to implement by derived classes.
virtual bool nextRead ()=0
virtual bool processNextEntryReaderTriggered ()=0
 Processes the next event Returns true if the next element shall be read (a new timestemp is then available also) Returns false if the action could not be accomplished; this method is then called in the next step again.
bool readNextTriggered ()
 reads from the XML-file (parses from file)

Protected Attributes

bool myHaveMore
SUMOTime myOffset
 The offset to the next event.
SAX2XMLReader * myParser
 The used SAX-parser.
XMLPScanToken myToken
 Position within the XML-file.
bool myWasInitialised

Private Member Functions

 MSTriggeredXMLReader (const MSTriggeredXMLReader &)
 Invalidated copy constructor.
MSTriggeredXMLReaderoperator= (const MSTriggeredXMLReader &)
 Invalidated assignment operator.

Detailed Description

Base class for triggered file readers which work with XML-files

Definition at line 54 of file MSTriggeredXMLReader.h.


Constructor & Destructor Documentation

Destructor.

Definition at line 64 of file MSTriggeredXMLReader.cpp.

Invalidated copy constructor.


Member Function Documentation

std::string GenericSAXHandler::buildErrorMessage ( const SAXParseException &  exception) [protected, inherited]

Builds an error message.

The error message includes the file name and the line/column information as supported by the given SAXParseException

Parameters:
[in]exceptionThe name of the currently processed file
Returns:
A string describing the given exception

Definition at line 193 of file GenericSAXHandler.cpp.

References GenericSAXHandler::getFileName().

Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().

void GenericSAXHandler::characters ( const XMLCh *const  chars,
const XERCES3_SIZE_t  length 
) [inherited]

The inherited method called when characters occured.

The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.

Todo:

recheck/describe what happens with characters when a new element is opened

describe characters processing in the class' head

Definition at line 176 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myCharactersVector.

void GenericSAXHandler::endElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname 
) [inherited]

The inherited method called when a tag is being closed.

This method calls the user-implemented methods myCharacters with the previously collected and converted characters.

Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 126 of file GenericSAXHandler.cpp.

References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.

void GenericSAXHandler::error ( const SAXParseException &  exception) [inherited]

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Parameters:
[in]exceptionThe occured exception to process
Exceptions:
ProcessErrorOn any call

Definition at line 212 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

Referenced by NLHandler::getLanesFromIndices().

void GenericSAXHandler::fatalError ( const SAXParseException &  exception) [inherited]

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Exceptions:
ProcessErrorOn any call
Parameters:
[in]exceptionThe occured exception to process

Definition at line 218 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

virtual void MSTriggeredReader::inputEndReached ( ) [protected, pure virtual, inherited]
void GenericSAXHandler::myCharacters ( int  element,
const std::string &  chars 
) [protected, virtual, inherited]

Callback method for characters to implement by derived classes.

Called by "endElement" (see there).

Parameters:
[in]elementThe opened element, given as a int
[in]charsThe complete embedded character string ProcessError These method may throw a ProcessError if something fails

Reimplemented in NIImporter_OpenDrive, NIImporter_SUMO, PCNetProjectionLoader, NIImporter_ITSUMO::Handler, PCLoaderXML, RORDLoader_SUMOBase, and ROJTRTurnDefLoader.

Definition at line 228 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

void GenericSAXHandler::myEndElement ( int  element) [protected, virtual, inherited]
virtual bool MSTriggeredXMLReader::nextRead ( ) [protected, pure virtual]

Referenced by readNextTriggered().

MSTriggeredXMLReader& MSTriggeredXMLReader::operator= ( const MSTriggeredXMLReader ) [private]

Invalidated assignment operator.

virtual bool MSTriggeredReader::processNextEntryReaderTriggered ( ) [protected, pure virtual, inherited]

Processes the next event Returns true if the next element shall be read (a new timestemp is then available also) Returns false if the action could not be accomplished; this method is then called in the next step again.

Referenced by MSTriggeredReader::wrappedExecute().

reads from the XML-file (parses from file)

Implements MSTriggeredReader.

Definition at line 68 of file MSTriggeredXMLReader.cpp.

References myHaveMore, myParser, myToken, and nextRead().

Referenced by myInit().

void GenericSAXHandler::registerParent ( const int  tag,
GenericSAXHandler handler 
) [inherited]

Assigning a parent handler which is enabled when the specified tag is closed.

Definition at line 168 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().

Referenced by NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().

void GenericSAXHandler::setFileName ( const std::string &  name) [inherited]
void GenericSAXHandler::startElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname,
const Attributes &  attrs 
) [inherited]

The inherited method called when a new tag opens.

The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.

Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 105 of file GenericSAXHandler.cpp.

References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.

void GenericSAXHandler::warning ( const SAXParseException &  exception) [inherited]

Handler for XML-warnings.

The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.

Parameters:
[in]exceptionThe occured exception to process

Definition at line 206 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.


Field Documentation

Definition at line 79 of file MSTriggeredXMLReader.h.

Referenced by myInit(), and readNextTriggered().

SUMOTime MSTriggeredReader::myOffset [protected, inherited]

The offset to the next event.

Definition at line 74 of file MSTriggeredReader.h.

Referenced by myInit(), and MSTriggeredReader::wrappedExecute().

SAX2XMLReader* MSTriggeredXMLReader::myParser [protected]

The used SAX-parser.

Definition at line 74 of file MSTriggeredXMLReader.h.

Referenced by myInit(), and readNextTriggered().

XMLPScanToken MSTriggeredXMLReader::myToken [protected]

Position within the XML-file.

Definition at line 77 of file MSTriggeredXMLReader.h.

Referenced by myInit(), and readNextTriggered().


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines