From 71a637be86177e82a8fc0c654639c2fa83c13f5d Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Wed, 29 Oct 2014 16:11:34 +0100 Subject: Activated namespace comprehension for all `XercesDOMParser` instances * this is possibly a breaking change for all applications built on either `FunctionExternalCommand` or `FunctionReadFile` ** e.g. meta datasource XPath queries in _StaticXSLT_ will have to be changed to accomodate this * the reason for doing this was to fix the behaviour when reading namespaced XML files ** e.g. XSL stylesheets could only be queried with a clunky XPath expression such as `$transformation/self::*[name() = 'xsl:stylesheet']` instead of simply `$transformation/self::xsl:stylesheet` *** this was caused by the now activated namespace comprehension in `xercesc::XercesDOMParser` which is disabled by default *** it caused all local node names to be converted into their namespace prefixed version, e.g. `local-name()` returned `xsl:stylesheet` instead of `stylesheet` --- src/function/read_file.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'src/function/read_file.cc') diff --git a/src/function/read_file.cc b/src/function/read_file.cc index fe9eea5..bbc8315 100644 --- a/src/function/read_file.cc +++ b/src/function/read_file.cc @@ -25,6 +25,7 @@ boost::optional readXmlFile( ); xercesc::XercesDOMParser parser; + parser.setDoNamespaces(true); parser.parse(file); if ( parser.getErrorCount() == 0 ) { -- cgit v1.2.3