aboutsummaryrefslogtreecommitdiff
path: root/src/support/type
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-07-18 23:57:17 +0200
committerAdrian Kummerlaender2014-07-18 23:57:17 +0200
commitdfa53577fcf7345e67485e71ecc20ec82f9dd521 (patch)
tree8f26fda2d9f64ee029d635dcab2597d3ac384af7 /src/support/type
parenta45c37a31eae86424d3b72ebb07604d6d1fa8bd3 (diff)
downloadInputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.tar
InputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.tar.gz
InputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.tar.bz2
InputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.tar.lz
InputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.tar.xz
InputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.tar.zst
InputXSLT-dfa53577fcf7345e67485e71ecc20ec82f9dd521.zip
Set SystemId for node based xalan::XSLTInputSource parameters
* entities in transformations passed by DOM to FunctionGenerate or FunctionTransform require a valid system id as a FilesystemContext base to be resolved * added getBase member method to FilesystemContext
Diffstat (limited to 'src/support/type')
-rw-r--r--src/support/type/xobject_value.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/support/type/xobject_value.cc b/src/support/type/xobject_value.cc
index a788e8e..9bb6648 100644
--- a/src/support/type/xobject_value.cc
+++ b/src/support/type/xobject_value.cc
@@ -9,6 +9,7 @@
#include <string>
#include "support/xalan_string.h"
+#include "support/xerces_string_guard.h"
namespace InputXSLT {
@@ -73,7 +74,15 @@ xalan::XSLTInputSource XObjectValue::get<xalan::XSLTInputSource>(
this->get<boost::filesystem::path>(ptr).string().data()
);
} else {
- return xalan::XSLTInputSource(node);
+ xalan::XSLTInputSource source(node);
+
+ source.setSystemId(
+ *XercesStringGuard<XMLCh>(
+ this->filesystem_context_.getBase().string()
+ )
+ );
+
+ return source;
}
}