aboutsummaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
Diffstat (limited to 'src/support')
-rw-r--r--src/support/filesystem_context.cc3
-rw-r--r--src/support/filesystem_context.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/support/filesystem_context.cc b/src/support/filesystem_context.cc
index 418d159..6ddbf7a 100644
--- a/src/support/filesystem_context.cc
+++ b/src/support/filesystem_context.cc
@@ -25,6 +25,9 @@ FilesystemContext::FilesystemContext(const xalan::Locator* locator):
).parent_path().string()
)) { }
+FilesystemContext::FilesystemContext(const std::string& path):
+ path_(boost::filesystem::canonical(path)) { }
+
boost::filesystem::path FilesystemContext::resolve(
const std::string& path) const {
return absolute(this->path_ / path);
diff --git a/src/support/filesystem_context.h b/src/support/filesystem_context.h
index 05d5862..6322da6 100644
--- a/src/support/filesystem_context.h
+++ b/src/support/filesystem_context.h
@@ -16,6 +16,7 @@ namespace InputXSLT {
class FilesystemContext {
public:
explicit FilesystemContext(const xalan::Locator*);
+ explicit FilesystemContext(const std::string&);
boost::filesystem::path resolve(const std::string&) const;
boost::filesystem::path resolve(const xalan::XalanDOMString&) const;