This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-2.22.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 241b590bb6250aa6ca49e9dd901c7a3993deb949 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Dec 17 13:39:33 2018 +0100 CAMEL-12994: Fixed issue in camel-saxon to skip reservered namespace prefix according to the XQuery spec. --- .../java/org/apache/camel/component/xquery/XQueryBuilder.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java index bb867bb..ac49813 100644 --- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java +++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java @@ -718,8 +718,13 @@ public abstract class XQueryBuilder implements Expression, Predicate, NamespaceA for (Map.Entry<String, String> entry : entries) { String prefix = entry.getKey(); String uri = entry.getValue(); - staticQueryContext.declareNamespace(prefix, uri); - staticQueryContext.setInheritNamespaces(true); + // skip invalid prefix or uri according to XQuery spec + boolean invalid = "xml".equals(prefix) || "xmlns".equals(prefix); + if (!invalid) { + LOG.debug("Declaring namespace [prefix: {}, uri: {}]", prefix, uri); + staticQueryContext.declareNamespace(prefix, uri); + staticQueryContext.setInheritNamespaces(true); + } } expression = createQueryExpression(staticQueryContext);