diff options
Diffstat (limited to 'src/function/base.h')
-rw-r--r-- | src/function/base.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/function/base.h b/src/function/base.h index 3726aa8..d53ae8a 100644 --- a/src/function/base.h +++ b/src/function/base.h @@ -120,15 +120,17 @@ class FunctionBase : public xalan::Function { const xalan::Locator* locator, Sequence<Index...> ) const { - XObjectValue valueGetter( + const FilesystemContext context( IncludeEntityResolver::getPathFromSystemId( locator->getSystemId() - ), - this->include_resolver_ + ) ); + XObjectValue valueGetter(&context, this->include_resolver_); + return this->document_cache_->create( static_cast<const Implementation*>(this)->constructDocument( + context, valueGetter.get<typename std::tuple_element< Index, std::tuple<Types...> |