You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2018/12/17 14:23:45 UTC
[camel] 07/09: CAMEL-12994: Fixed issue in camel-saxon to skip
reservered namespace prefix according to the XQuery spec.
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch sandbox/camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4488130d7ff47d53f3872aa9b6d22379f86a6522
Author: Claus Ibsen <cl...@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 6c3bac9..055aeef 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
@@ -720,8 +720,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);