From 299d0f6fa3fbd1bfd8d1d6d452e9d055973d0e0e Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sat, 28 Jun 2014 18:09:48 +0200 Subject: Added input parameter to FunctionTransform * the external "transform" function now expects a input document as its first parameter ** this input parameter is resolved and passed as input to the transformation ** changed and expanded test case accordingly * because of xalan internal problem this currently only supports input DOMs loaded directly from the fs ** passing result trees or node sets analog to how the transformation may be passed into the function leads to parsing and assert failures ** parsing node-based input DOMs using xalanc::XalanTransformer::parseSource produces errors concerning base entity resolution ** if the error capacitor instance is temporarily disabled it works correctly as long as one doesn't try to access the input document *** this causes a assert failure in the XPath implementation (seems to be related to XALANC-540) --- src/function/transform.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/function/transform.cc') diff --git a/src/function/transform.cc b/src/function/transform.cc index 9cf806f..bc71125 100644 --- a/src/function/transform.cc +++ b/src/function/transform.cc @@ -31,6 +31,7 @@ inline std::function handleErrors( namespace InputXSLT { xercesc::DOMDocument* FunctionTransform::constructDocument( + xalan::XSLTInputSource inputSource, xalan::XSLTInputSource transformationSource, xalan::XObjectPtr parameterObject ) { @@ -50,6 +51,7 @@ xercesc::DOMDocument* FunctionTransform::constructDocument( if ( auto transformation = TransformationFacade::try_create( handleErrors(result), + inputSource, transformationSource, this->include_resolver_ ) ) { -- cgit v1.2.3