Add support for RapidXML to CEGui

Create issue
Issue #358 resolved
Former user created an issue

Automatic migration. Original reporter: "jays"

Adds support for the RapidXML parser to the project. No additional run time dependencies are added since RapidXML is not a library or dll.

Reproducibility: have not tried

Additional information: A zip file with the new code is attached. It should be placed in the source tree in this directory: src/XMLParserModules/RapidXMLParser/

You need to include

  1. define CEGUI_WITH_RAPIDXML 1 in your config.h

The file CEGUISystem.cpp must be changed to include the new code:

This block includes the proper headers when static linking

  1. if defined(CEGUI_STATIC) ++djs: changed to include new parser
  3. include "XMLParserModules/RapidXMLParser/CEGUIRapidXMLParserModule.h"
  4. endif

Comments (3)

  1. Paul Turner

    This is rejected in it's current form. Not only is archive is missing the header files and the code does not compile cleanly:

    in RapidXMLDocument::processElement you have: rapidxml::xml_node<>* childNode = element.first_node(); and it should be: rapidxml::xml_node<>* childNode = element->first_node();

    You also use a enum name as scope, whereas enumerations do not introduce scope (surely you get at least a warning about these issues on your compiler?).

    While these issues were bad enough, I stuck with it and got it compiling, but then execution fails do to an issue that you yourself have raised on the forum:

    Which I actually find quite amusing ;)

  2. Log in to comment