Subject: [boost] [property_tree] RapidXML needs updating
From: Preston A. Elder (prez_at_[hidden])
Date: 2009-07-28 17:11:34
There is an existing problem with the version of rapidxml included with
boost::property_tree (from the trunk, I have this as an SVN external
into my own repository for my own project in preparation for it getting
into boost proper).
If I have something like:
The intention is obviously to have the value of field be a space. Since
spaces are trimmed and condensed, something like:
will not work.
It seems that condensing of whitespace is happening AFTER the expansion
of the &#xNN; expansion (similarly with &#NNN;). This is obviously an
error, because otherwise there is no way for me to have a space as the
first or last character (or have multiple spaces in a row).
It seems this bug is coming from RapidXML itself. I noticed the version
of RapidXML is 1.0. So I downloaded the new version of RapidXML (1.13),
and made the necessary changes in xml_parser_read_rapidxml.hpp (namely
changing first_child() to first_node() ) and the above problem is fixed.
So I would like to request that whoever is maintaining this update the
version of RapidXML to the latest one available from the RapidXML
website. As an addendum, it would be REAL nice if one could use flags
to turn on or off string condensing and trimming. RapidXML provides
options for both.
Oh, and you might also want to fix this warning:
In file included from
/sandbox/boost/boost/spirit.hpp:18:4: warning: #warning "This header is
deprecated. Please use: boost/spirit/include/classic.hpp"
(Remember that I have property_tree as an SVN external pointing to the
property_tree directory in boost's trunk, so the above IS current boost
head code). Minor issue.