support base_path adjustment when reading from xml file as well as from a string

This commit is contained in:
Dane Springmeyer 2013-06-02 16:24:21 -07:00
parent e51c59aacc
commit 1036eb1c99
3 changed files with 5 additions and 5 deletions

View file

@ -408,7 +408,7 @@ bool has_pycairo()
}
BOOST_PYTHON_FUNCTION_OVERLOADS(load_map_overloads, load_map, 2, 3)
BOOST_PYTHON_FUNCTION_OVERLOADS(load_map_overloads, load_map, 2, 4)
BOOST_PYTHON_FUNCTION_OVERLOADS(load_map_string_overloads, load_map_string, 2, 4)
BOOST_PYTHON_FUNCTION_OVERLOADS(save_map_overloads, save_map, 2, 3)
BOOST_PYTHON_FUNCTION_OVERLOADS(save_map_to_string_overloads, save_map_to_string, 1, 2)

View file

@ -32,7 +32,7 @@
namespace mapnik
{
MAPNIK_DECL void load_map(Map & map, std::string const& filename, bool strict = false);
MAPNIK_DECL void load_map(Map & map, std::string const& filename, bool strict = false, std::string base_path="");
MAPNIK_DECL void load_map_string(Map & map, std::string const& str, bool strict = false, std::string base_path="");
}

View file

@ -129,14 +129,14 @@ private:
};
//#include <mapnik/internal/dump_xml.hpp>
void load_map(Map & map, std::string const& filename, bool strict)
void load_map(Map & map, std::string const& filename, bool strict, std::string base_path)
{
// TODO - use xml encoding?
xml_tree tree("utf8");
tree.set_filename(filename);
read_xml(filename, tree.root());
map_parser parser(strict, filename);
parser.parse_map(map, tree.root(), "");
parser.parse_map(map, tree.root(), base_path);
//dump_xml(tree.root());
}
@ -150,7 +150,7 @@ void load_map_string(Map & map, std::string const& str, bool strict, std::string
}
else
{
read_xml_string(str, tree.root(), map.base_path()); // default to map base_path
read_xml_string(str, tree.root(), map.base_path()); // FIXME - this value is not fully known yet
}
map_parser parser(strict, base_path);
parser.parse_map(map, tree.root(), base_path);