Repository: vxquery Updated Branches: refs/heads/master 67c6d1c88 -> 53776ee95
Support json-item types Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/53776ee9 Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/53776ee9 Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/53776ee9 Branch: refs/heads/master Commit: 53776ee958c6d1eb07d040584a2e33fad0a92bc3 Parents: 67c6d1c Author: riyafa <[email protected]> Authored: Sun Jun 19 17:21:55 2016 +0530 Committer: Preston Carman <[email protected]> Committed: Thu Jun 23 13:33:21 2016 -0700 ---------------------------------------------------------------------- .../vxquery/functions/builtin-operators.xml | 4 +- .../vxquery/types/AbstractJsonItemType.java | 26 +++++++++++ .../apache/vxquery/types/AnyJsonItemType.java | 45 ++++++++++++++++++++ .../org/apache/vxquery/types/ArrayType.java | 43 +++++++++++++++++++ .../apache/vxquery/types/BuiltinTypeQNames.java | 2 + .../vxquery/types/BuiltinTypeRegistry.java | 2 + .../org/apache/vxquery/types/JsonItemKind.java | 23 ++++++++++ .../org/apache/vxquery/types/JsonItemType.java | 21 +++++++++ .../java/org/apache/vxquery/types/NodeType.java | 2 +- .../org/apache/vxquery/types/ObjectType.java | 43 +++++++++++++++++++ .../org/apache/vxquery/types/SequenceType.java | 26 ++++++----- .../vxquery/types/StructuredItemType.java | 20 +++++++++ .../org/apache/vxquery/types/TypeUtils.java | 10 ++++- .../vxquery/xmlquery/query/XQueryConstants.java | 22 +++++++++- 14 files changed, 272 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/functions/builtin-operators.xml ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/functions/builtin-operators.xml b/vxquery-core/src/main/java/org/apache/vxquery/functions/builtin-operators.xml index e89d619..e28d405 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/functions/builtin-operators.xml +++ b/vxquery-core/src/main/java/org/apache/vxquery/functions/builtin-operators.xml @@ -856,14 +856,14 @@ <!-- opext:array-constructor($expression as item()*) as array() --> <operator name="opext:array-constructor"> <param name="expression" type="item()*"/> - <return type="item()"/> + <return type="array()"/> <runtime type="scalar" class="org.apache.vxquery.runtime.functions.jsonitem.ArrayConstructorScalarEvaluatorFactory"/> </operator> <!-- opext:object-constructor($expression as item()*) as object() --> <operator name="opext:object-constructor"> <param name="expression" type="item()*"/> - <return type="item()"/> + <return type="object()"/> <runtime type="scalar" class="org.apache.vxquery.runtime.functions.jsonitem.ObjectConstructorScalarEvaluatorFactory"/> </operator> http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractJsonItemType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractJsonItemType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractJsonItemType.java new file mode 100644 index 0000000..c890d4d --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractJsonItemType.java @@ -0,0 +1,26 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.apache.vxquery.types; + +abstract class AbstractJsonItemType implements JsonItemType { + private static final long serialVersionUID = 1L; + + @Override + public final boolean isAtomicType() { + return false; + } +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/AnyJsonItemType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/AnyJsonItemType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/AnyJsonItemType.java new file mode 100644 index 0000000..6b367ba --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/AnyJsonItemType.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.vxquery.types; + +public final class AnyJsonItemType extends AbstractJsonItemType { + private static final long serialVersionUID = 1L; + public static final AnyJsonItemType INSTANCE = new AnyJsonItemType(); + + private AnyJsonItemType() { + } + + @Override + public String toString() { + return "json-item"; + } + + @Override + public int hashCode() { + return AnyJsonItemType.class.hashCode(); + } + + @Override + public boolean equals(Object other) { + return other instanceof AnyJsonItemType; + } + + @Override + public JsonItemKind getJsonItemKind() { + return JsonItemKind.ANY; + } +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/ArrayType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/ArrayType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/ArrayType.java new file mode 100644 index 0000000..5108f32 --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/ArrayType.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.vxquery.types; + +public final class ArrayType extends AbstractJsonItemType { + private static final long serialVersionUID = 1L; + + public static final ArrayType INSTANCE = new ArrayType(); + + @Override + public int hashCode() { + return ArrayType.class.hashCode(); + } + + @Override + public boolean equals(Object other) { + return other instanceof ArrayType; + } + + @Override + public String toString() { + return "array"; + } + + @Override + public JsonItemKind getJsonItemKind() { + return JsonItemKind.ARRAY; + } +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeQNames.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeQNames.java b/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeQNames.java index 9f762ff..ec2163e 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeQNames.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeQNames.java @@ -125,4 +125,6 @@ public class BuiltinTypeQNames { XQueryConstants.XS_PREFIX); public static final QName XSEXT_TYPE_TYPE_QNAME = new QName(XQueryConstants.XSEXT_NSURI, "type", XQueryConstants.XSEXT_PREFIX); + public static final QName JS_NULL_TYPE_QNAME = new QName(XQueryConstants.JS_NSURI, "null", + XQueryConstants.JS_PREFIX); } http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java b/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java index 29bb5e2..ab4f627 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java @@ -219,6 +219,7 @@ public final class BuiltinTypeRegistry { types[BuiltinTypeConstants.XS_ANY_URI_TYPE_ID] = XS_ANY_URI; types[BuiltinTypeConstants.XS_QNAME_TYPE_ID] = XS_QNAME; types[BuiltinTypeConstants.XS_NOTATION_TYPE_ID] = XS_NOTATION; + types[BuiltinTypeConstants.JS_NULL_TYPE_ID] = JS_NULL; typeNames = new QName[BuiltinTypeConstants.BUILTIN_TYPE_COUNT]; typeNames[BuiltinTypeConstants.XS_ANY_TYPE_ID] = BuiltinTypeQNames.XS_ANY_TYPE_QNAME; @@ -270,6 +271,7 @@ public final class BuiltinTypeRegistry { typeNames[BuiltinTypeConstants.XS_ANY_URI_TYPE_ID] = BuiltinTypeQNames.XS_ANY_URI_TYPE_QNAME; typeNames[BuiltinTypeConstants.XS_QNAME_TYPE_ID] = BuiltinTypeQNames.XS_QNAME_TYPE_QNAME; typeNames[BuiltinTypeConstants.XS_NOTATION_TYPE_ID] = BuiltinTypeQNames.XS_NOTATION_TYPE_QNAME; + typeNames[BuiltinTypeConstants.JS_NULL_TYPE_ID] = BuiltinTypeQNames.JS_NULL_TYPE_QNAME; } public SchemaType getSchemaTypeById(int id) { http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemKind.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemKind.java b/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemKind.java new file mode 100644 index 0000000..0af2811 --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemKind.java @@ -0,0 +1,23 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.apache.vxquery.types; + +public enum JsonItemKind { + ANY, + OBJECT, + ARRAY +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemType.java new file mode 100644 index 0000000..f06eebc --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/JsonItemType.java @@ -0,0 +1,21 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.apache.vxquery.types; + +public interface JsonItemType extends StructuredItemType { + public JsonItemKind getJsonItemKind(); +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/NodeType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/NodeType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/NodeType.java index cd43f97..ef4ba7d 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/types/NodeType.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/NodeType.java @@ -16,6 +16,6 @@ */ package org.apache.vxquery.types; -public interface NodeType extends ItemType { +public interface NodeType extends StructuredItemType { public NodeKind getNodeKind(); } http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/ObjectType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/ObjectType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/ObjectType.java new file mode 100644 index 0000000..b61f3b4 --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/ObjectType.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.vxquery.types; + +public final class ObjectType extends AbstractJsonItemType { + private static final long serialVersionUID = 1L; + + public static final ObjectType INSTANCE = new ObjectType(); + + @Override + public int hashCode() { + return ObjectType.class.hashCode(); + } + + @Override + public boolean equals(Object other) { + return other instanceof ObjectType; + } + + @Override + public JsonItemKind getJsonItemKind() { + return JsonItemKind.OBJECT; + } + + @Override + public String toString() { + return "object"; + } +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/SequenceType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/SequenceType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/SequenceType.java index 2986a8c..0066967 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/types/SequenceType.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/SequenceType.java @@ -30,7 +30,7 @@ public final class SequenceType implements Serializable { private Quantifier quantifier; static { - Map<ItemType, SequenceType[]> types = new LinkedHashMap<ItemType, SequenceType[]>(); + Map<ItemType, SequenceType[]> types = new LinkedHashMap<>(); createBuiltinEntry(types, BuiltinTypeRegistry.XS_ANY_ATOMIC); createBuiltinEntry(types, BuiltinTypeRegistry.XS_STRING); @@ -79,6 +79,7 @@ public final class SequenceType implements Serializable { createBuiltinEntry(types, BuiltinTypeRegistry.XS_ANY_URI); createBuiltinEntry(types, BuiltinTypeRegistry.XS_QNAME); createBuiltinEntry(types, BuiltinTypeRegistry.XS_NOTATION); + createBuiltinEntry(types, BuiltinTypeRegistry.JS_NULL); createBuiltinEntry(types, AnyItemType.INSTANCE); createBuiltinEntry(types, AnyNodeType.INSTANCE); @@ -88,14 +89,24 @@ public final class SequenceType implements Serializable { createBuiltinEntry(types, CommentType.INSTANCE); createBuiltinEntry(types, ProcessingInstructionType.ANYPI); + createBuiltinEntry(types, ArrayType.INSTANCE); + createBuiltinEntry(types, ObjectType.INSTANCE); + BUILTIN_SEQ_TYPES = Collections.unmodifiableMap(types); } + private SequenceType(ItemType itemType, Quantifier quantifier) { + this.itemType = itemType; + this.quantifier = quantifier; + } + private static void createBuiltinEntry(Map<ItemType, SequenceType[]> types, ItemType itemType) { - types.put(itemType, new SequenceType[] { new SequenceType(itemType, Quantifier.QUANT_ZERO), - new SequenceType(itemType, Quantifier.QUANT_ONE), - new SequenceType(itemType, Quantifier.QUANT_QUESTION), - new SequenceType(itemType, Quantifier.QUANT_STAR), new SequenceType(itemType, Quantifier.QUANT_PLUS), }); + types.put(itemType, + new SequenceType[] { new SequenceType(itemType, Quantifier.QUANT_ZERO), + new SequenceType(itemType, Quantifier.QUANT_ONE), + new SequenceType(itemType, Quantifier.QUANT_QUESTION), + new SequenceType(itemType, Quantifier.QUANT_STAR), + new SequenceType(itemType, Quantifier.QUANT_PLUS), }); } public static SequenceType create(ItemType itemType, Quantifier quantifier) { @@ -106,11 +117,6 @@ public final class SequenceType implements Serializable { return types[quantifier.ordinal()]; } - private SequenceType(ItemType itemType, Quantifier quantifier) { - this.itemType = itemType; - this.quantifier = quantifier; - } - public ItemType getItemType() { return itemType; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/StructuredItemType.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/StructuredItemType.java b/vxquery-core/src/main/java/org/apache/vxquery/types/StructuredItemType.java new file mode 100644 index 0000000..eb8a0af --- /dev/null +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/StructuredItemType.java @@ -0,0 +1,20 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.apache.vxquery.types; + +public interface StructuredItemType extends ItemType { +} http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/types/TypeUtils.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/types/TypeUtils.java b/vxquery-core/src/main/java/org/apache/vxquery/types/TypeUtils.java index f76a423..6dfa677 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/types/TypeUtils.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/types/TypeUtils.java @@ -26,8 +26,8 @@ public class TypeUtils { return createSequenceType(RootStaticContextImpl.INSTANCE, str); } - public static SequenceType createSequenceType(StaticContext sCtx, String str) { - str = str.trim(); + public static SequenceType createSequenceType(StaticContext sCtx, String s) { + String str = s.trim(); Quantifier q = Quantifier.QUANT_ONE; if (str.endsWith("?")) { q = Quantifier.QUANT_QUESTION; @@ -43,6 +43,12 @@ public class TypeUtils { ItemType it; if (str.equals("item()")) { it = AnyItemType.INSTANCE; + } else if (str.equals("json-item()")) { + it = AnyJsonItemType.INSTANCE; + } else if (str.equals("object()")) { + it = ObjectType.INSTANCE; + } else if (str.equals("array()")) { + it = ArrayType.INSTANCE; } else if (str.equals("node()")) { it = AnyNodeType.INSTANCE; } else if (str.equals("document-node()")) { http://git-wip-us.apache.org/repos/asf/vxquery/blob/53776ee9/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XQueryConstants.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XQueryConstants.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XQueryConstants.java index d8fdf94..29b9bcb 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XQueryConstants.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XQueryConstants.java @@ -36,13 +36,31 @@ public final class XQueryConstants { public static final String LOCAL_NSURI = "http://www.w3.org/2005/xquery-local-functions"; public static final String ERR_NSURI = "http://www.w3.org/2005/xqt-errors"; - + public static final String OP_PREFIX = "op"; public static final String OP_NSURI = "urn:org.apache.vxquery.operators"; public static final String OPEXT_PREFIX = "opext"; public static final String OPEXT_NSURI = "urn:org.apache.vxquery.operators-ext"; + public static final String JS_PREFIX = "js"; + public static final String JS_NSURI = "http://jsoniq.org/types"; + + public static final String JN_PREFIX = "jn"; + public static final String JN_NSURI = "http://jsoniq.org/functions"; + + public static final String LIBJN_PREFIX = "libjn"; + public static final String LIBJN_NSURI = "http://jsoniq.org/function-library"; + + public static final String JERR_PREFIX = "jerr"; + public static final String JERR_NSURI = "http://jsoniq.org/errors"; + + public static final String JUPD_PREFIX = "jupd"; + public static final String JUPD_NSURI = "http://jsoniq.org/updates"; + + public static final String JDM_PREFIX = "jdm"; + public static final String JDM_NSURI = "urn:org.apache.vxquery.jsoniq-data-model"; + private XQueryConstants() { } @@ -57,7 +75,7 @@ public final class XQueryConstants { public enum TypeQuantifier { QUANT_QUESTION, QUANT_STAR, QUANT_PLUS } - + public enum PathType { SLASH, SLASH_SLASH,
