diff options
author | Adrian Kummerlaender | 2014-10-26 22:23:02 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2014-10-26 22:23:02 +0100 |
commit | 1276ea17e58f886d34423eefae92e0b0aa477b9a (patch) | |
tree | 67c39d89da8e4192c48b63439c1d7491b7ecc1cf /src/function/base.h | |
parent | bc48696d7f463d0a230193f2173ec8516a2ca4b0 (diff) | |
download | InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.tar InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.tar.gz InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.tar.bz2 InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.tar.lz InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.tar.xz InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.tar.zst InputXSLT-1276ea17e58f886d34423eefae92e0b0aa477b9a.zip |
Fixed XML declaration handling in FunctionExternalCommand
* `FunctionExternalCommand` failed to offer correct output handling when provided with a valid XML document which included a XML declaration
** `xerces::XercesDOMParser` generated the appropriate errors but they were not handled by `FunctionExternalCommand`
** wrapping is not necessary for full XML documents but is required for invalid XML as returned by e.g. common _Markdown_ processors
*** if wrapping is applied to full XML documents which include a XML declaration the parser and subsequently the complete external function fails
* added error parser handling by making the compilation unit local `importDocumentElement` method return value optional
* added XML declaration detection and handling to `readOutput`
** if XML declaration is detected no wrapping is applied
* added wrapping detection in `FunctionExternalCommand::constructDocument`
** if no wrapping is detected the whole tree is returned as content instead of just returning its child nodes
Diffstat (limited to 'src/function/base.h')
-rw-r--r-- | src/function/base.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/function/base.h b/src/function/base.h index 34f0a77..5c2d317 100644 --- a/src/function/base.h +++ b/src/function/base.h @@ -117,7 +117,7 @@ class FunctionBase : public xalan::Function { template <std::size_t... Index> inline xalan::XalanDocument* callConstructDocument( const XObjectArgVectorType& parameters, - const xalan::Locator* locator, + const xalan::Locator*, Sequence<Index...> ) const { const FilesystemContext context; |