SUMO - Simulation of Urban MObility
|
A reader for polygons and pois stored in XML-format. More...
#include <PCLoaderXML.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. More... | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. More... | |
const std::string & | getFileName () const |
returns the current file name More... | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. More... | |
void | setFileName (const std::string &name) |
Sets the current file name. More... | |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE::Attributes &attrs) |
The inherited method called when a new tag opens. More... | |
SAX ErrorHandler callbacks | |
void | warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-warnings. More... | |
void | error (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. More... | |
void | fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Handler for XML-errors. More... | |
Static Public Member Functions | |
static void | loadIfSet (OptionsCont &oc, PCPolyContainer &toFill, PCTypeMap &tm) |
Loads pois/polygons assumed to be stored as XML. More... | |
Protected Member Functions | |
std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Builds an error message. More... | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. More... | |
virtual void | myEndElement (int element) |
Callback method for a closing tag to implement by derived classes. More... | |
PCLoaderXML (PCPolyContainer &toFill, PCTypeMap &tm, OptionsCont &oc) | |
Constructor. More... | |
~PCLoaderXML () | |
Destructor. More... | |
inherited from GenericSAXHandler | |
virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. More... | |
Private Attributes | |
PCPolyContainer & | myCont |
The container to store the converted polygons/pois into. More... | |
OptionsCont & | myOptions |
Settings to use. More... | |
PCTypeMap & | myTypeMap |
The type map to use. More... | |
Temporary storages used when parsing polygons | |
std::string | myCurrentID |
The id of the currently parsed polygon. More... | |
std::string | myCurrentType |
The type of the currently parsed polygon. More... | |
RGBColor | myCurrentColor |
The color of the currently parsed polygon. More... | |
bool | myCurrentIgnorePrunning |
Whether the current polygon must not be prunned. More... | |
SUMOReal | myCurrentLayer |
The layer of the currently parsed polygon. More... | |
A reader for polygons and pois stored in XML-format.
Reads pois stored as XML definition. The definitions must match the format POLYCONVERT generates.
Definition at line 58 of file PCLoaderXML.h.
|
protected |
Constructor.
[in] | toFill | The poly/pois container to add loaded polys/pois to |
[in] | tm | The type map to use for setting values of loaded polys/pois |
[in] | oc | The options container to get further options from |
Definition at line 90 of file PCLoaderXML.cpp.
|
protected |
Destructor.
Definition at line 96 of file PCLoaderXML.cpp.
|
protectedinherited |
Builds an error message.
The error message includes the file name and the line/column information as supported by the given SAXParseException
[in] | exception | The name of the currently processed file |
Definition at line 193 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
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.
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 TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.
|
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.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 126 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occured exception to process |
ProcessError | On any call |
Definition at line 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occured exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 86 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NLHandler::addPOI(), NLHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), MSRouteLoader::init(), PCNetProjectionLoader::loadIfSet(), NILoader::loadXMLType(), MSTriggeredXMLReader::myInit(), GUISettingsHandler::myStartElement(), RODFDetectorHandler::myStartElement(), RORDLoader_TripDefs::myStartElement(), SUMORouteHandler::myStartElement(), RORDLoader_SUMOBase::myStartElement(), myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader(), XMLSubSys::runParser(), and GenericSAXHandler::startElement().
|
static |
Loads pois/polygons assumed to be stored as XML.
If the option "xml" is set within the given options container, an instance of PCLoaderXML is built and used as a handler for the files given in this option.
[in] | oc | The options container to get further options from |
[in] | toFill | The poly/pois container to add loaded polys/pois to |
[in] | tm | The type map to use for setting values of loaded polys/pois |
ProcessError | if something fails |
Definition at line 65 of file PCLoaderXML.cpp.
References FileHelpers::exists(), OptionsCont::getStringVector(), OptionsCont::isSet(), PROGRESS_BEGIN_MESSAGE, PROGRESS_DONE_MESSAGE, and XMLSubSys::runParser().
Referenced by main().
|
protectedvirtualinherited |
Callback method for characters to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The opened element, given as a int |
[in] | chars | The complete embedded character string ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler.
Definition at line 228 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtualinherited |
Callback method for a closing tag to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The closed element, given as a int ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_OpenStreetMap::EdgesHandler, NIImporter_OpenStreetMap::NodesHandler, PCLoaderOSM::EdgesHandler, SAXWeightsHandler, MSTriggeredRerouter, PCLoaderOSM::NodesHandler, NIImporter_ITSUMO::Handler, MSLaneSpeedTrigger, NIImporter_SUMO, NLHandler, NIXMLEdgesHandler, RORDGenerator_ODAmounts, ODDistrictHandler, RORDLoader_SUMOBase, RORouteHandler, MSRouteHandler, NIXMLTrafficLightsHandler, SUMORouteHandler, and RORDLoader_TripDefs.
Definition at line 232 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement(), and SUMOSAXReader::parseNext().
|
protectedvirtual |
Called on the opening of a tag;.
[in] | element | ID of the currently opened element |
[in] | attrs | Attributes within the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 100 of file PCLoaderXML.cpp.
References PositionVector::begin(), PCTypeMap::TypeDef::color, Shape::DEFAULT_ANGLE, Shape::DEFAULT_IMG_FILE, Shape::DEFAULT_IMG_HEIGHT, Shape::DEFAULT_IMG_WIDTH, PCTypeMap::TypeDef::discard, PositionVector::end(), PCTypeMap::get(), OptionsCont::getBool(), SUMOSAXAttributes::getColorReporting(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), OptionsCont::getInt(), SUMOSAXAttributes::getOptBoolReporting(), OptionsCont::getOptions(), SUMOSAXAttributes::getOptStringReporting(), SUMOSAXAttributes::getOptSUMORealReporting(), GeoConvHelper::getProcessing(), SUMOSAXAttributes::getShapeReporting(), OptionsCont::getString(), SUMOSAXAttributes::getStringReporting(), SUMOSAXAttributes::getSUMORealReporting(), PCTypeMap::has(), SUMOSAXAttributes::hasAttribute(), PCTypeMap::TypeDef::id, PCPolyContainer::insert(), FileHelpers::isAbsolute(), PCTypeMap::TypeDef::layer, myCont, myCurrentColor, myCurrentID, myCurrentIgnorePrunning, myCurrentLayer, myCurrentType, myOptions, myTypeMap, RGBColor::parseColor(), PCTypeMap::TypeDef::prefix, PositionVector::push_back(), SUMO_ATTR_ANGLE, SUMO_ATTR_COLOR, SUMO_ATTR_FILL, SUMO_ATTR_HEIGHT, SUMO_ATTR_ID, SUMO_ATTR_IMGFILE, SUMO_ATTR_LAYER, SUMO_ATTR_SHAPE, SUMO_ATTR_TYPE, SUMO_ATTR_WIDTH, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_TAG_POI, SUMO_TAG_POLY, SUMOReal, WRITE_ERROR, and WRITE_WARNING.
|
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().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 80 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), PCNetProjectionLoader::loadIfSet(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and XMLSubSys::runParser().
|
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.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 105 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), 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.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occured exception to process |
Definition at line 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
The container to store the converted polygons/pois into.
Definition at line 106 of file PCLoaderXML.h.
Referenced by myStartElement().
|
private |
The color of the currently parsed polygon.
Definition at line 125 of file PCLoaderXML.h.
Referenced by myStartElement().
|
private |
The id of the currently parsed polygon.
Definition at line 119 of file PCLoaderXML.h.
Referenced by myStartElement().
|
private |
Whether the current polygon must not be prunned.
Definition at line 128 of file PCLoaderXML.h.
Referenced by myStartElement().
|
private |
The layer of the currently parsed polygon.
Definition at line 131 of file PCLoaderXML.h.
Referenced by myStartElement().
|
private |
The type of the currently parsed polygon.
Definition at line 122 of file PCLoaderXML.h.
Referenced by myStartElement().
|
private |
|
private |