diff options
author | Adrian Kummerlaender | 2014-07-18 23:57:17 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2014-07-18 23:57:17 +0200 |
commit | dfa53577fcf7345e67485e71ecc20ec82f9dd521 (patch) | |
tree | 8f26fda2d9f64ee029d635dcab2597d3ac384af7 /src/support/type | |
parent | a45c37a31eae86424d3b72ebb07604d6d1fa8bd3 (diff) | |
download | InputXSLT-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.cc | 11 |
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; } } |