From 1276ea17e58f886d34423eefae92e0b0aa477b9a Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 26 Oct 2014 22:23:02 +0100 Subject: 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 --- src/function/base.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/function/base.h') 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 inline xalan::XalanDocument* callConstructDocument( const XObjectArgVectorType& parameters, - const xalan::Locator* locator, + const xalan::Locator*, Sequence ) const { const FilesystemContext context; -- cgit v1.2.3