# 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.

ERR_XPST0001_DESCRIPTION=It is a static error if analysis of an expression relies on some component of the static context that has not been assigned a value.
ERR_XPDY0002_DESCRIPTION=It is a dynamic error if evaluation of an expression relies on some part of the dynamic context that has not been assigned a value.
ERR_XPST0003_DESCRIPTION=It is a static error if an expression is not a valid instance of the grammar defined in A.1 EBNF.
ERR_XPTY0004_DESCRIPTION=It is a type error if, during the static analysis phase, an expression is found to have a static type that is not appropriate for the context in which the expression occurs, or during the dynamic evaluation phase, the dynamic type of a value does not match a required type as specified by the matching rules in 2.5.4 SequenceType Matching.
ERR_XPST0005_DESCRIPTION=During the analysis phase, it is a static error if the static type assigned to an expression other than the expression () or data(()) is empty-sequence().
ERR_XPTY0006_DESCRIPTION=(Not currently used.)
ERR_XPTY0007_DESCRIPTION=(Not currently used.)
ERR_XPST0008_DESCRIPTION=It is a static error if an expression refers to an element name, attribute name, schema type name, namespace prefix, or variable name that is not defined in the static context, except for an ElementName in an ElementTest or an AttributeName in an AttributeTest.
ERR_XQST0009_DESCRIPTION=An implementation that does not support the Schema Import Feature must raise a static error if a Prolog contains a schema import.
ERR_XPST0010_DESCRIPTION=An implementation must raise a static error if it encounters a reference to an axis that it does not support.
ERR_XQST0012_DESCRIPTION=It is a static error if the set of definitions contained in all schemas imported by a Prolog do not satisfy the conditions for schema validity specified in Sections 3 and 5 of [XML Schema] Part 1--i.e., each definition must be valid, complete, and unique.
ERR_XQST0013_DESCRIPTION=It is a static error if an implementation recognizes a pragma but determines that its content is invalid.
ERR_XQST0014_DESCRIPTION=(Not currently used.)
ERR_XQST0015_DESCRIPTION=(Not currently used.)
ERR_XQST0016_DESCRIPTION=An implementation that does not support the Module Feature raises a static error if it encounters a module declaration or a module import.
ERR_XPST0017_DESCRIPTION=It is a static error if the expanded QName and number of arguments in a function call do not match the name and arity of a function signature in the static context.
ERR_XPTY0018_DESCRIPTION=It is a type error if the result of the last step in a path expression contains both nodes and atomic values.
ERR_XPTY0019_DESCRIPTION=It is a type error if the result of a step (other than the last step) in a path expression contains an atomic value.
ERR_XPTY0020_DESCRIPTION=It is a type error if, in an axis step, the context item is not a node.
ERR_XPDY0021_DESCRIPTION=(Not currently used.)
ERR_XQST0022_DESCRIPTION=It is a static error if the value of a namespace declaration attribute is not a URILiteral.
ERR_XQTY0023_DESCRIPTION=(Not currently used.)
ERR_XQTY0024_DESCRIPTION=It is a type error if the content sequence in an element constructor contains an attribute node following a node that is not an attribute node.
ERR_XQDY0025_DESCRIPTION=It is a dynamic error if any attribute of a constructed element does not have a name that is distinct from the names of all other attributes of the constructed element.
ERR_XQDY0026_DESCRIPTION=It is a dynamic error if the result of the content expression of a computed processing instruction constructor contains the string "?>".
ERR_XQDY0027_DESCRIPTION=In a validate expression, it is a dynamic error if the root element information item in the PSVI resulting from validation does not have the expected validity property: valid if validation mode is strict, or either valid or notKnown if validation mode is lax.
ERR_XQTY0028_DESCRIPTION=(Not currently used.)
ERR_XQDY0029_DESCRIPTION=(Not currently used.)
ERR_XQTY0030_DESCRIPTION=It is a type error if the argument of a validate expression does not evaluate to exactly one document or element node.
ERR_XQST0031_DESCRIPTION=It is a static error if the version number specified in a version declaration is not supported by the implementation.
ERR_XQST0032_DESCRIPTION=A static error is raised if a Prolog contains more than one base URI declaration.
ERR_XQST0033_DESCRIPTION=It is a static error if a module contains multiple bindings for the same namespace prefix.
ERR_XQST0034_DESCRIPTION=It is a static error if multiple functions declared or imported by a module have the number of arguments and their expanded QNames are equal (as defined by the eq operator).
ERR_XQST0035_DESCRIPTION=It is a static error to import two schema components that both define the same name in the same symbol space and in the same scope.
ERR_XQST0036_DESCRIPTION=It is a static error to import a module if the importing module's in-scope schema types do not include definitions for the schema type names that appear in the declarations of variables and functions (whether in an argument type or return type) that are present in the imported module and are referenced in the importing module.
ERR_XQST0037_DESCRIPTION=(Not currently used.)
ERR_XQST0038_DESCRIPTION=It is a static error if a Prolog contains more than one default collation declaration, or the value specified by a default collation declaration is not present in statically known collations.
ERR_XQST0039_DESCRIPTION=It is a static error for a function declaration to have more than one parameter with the same name.
ERR_XQST0040_DESCRIPTION=It is a static error if the attributes specified by a direct element constructor do not have distinct expanded QNames.
ERR_XQDY0041_DESCRIPTION=It is a dynamic error if the value of the name expression in a computed processing instruction constructor cannot be cast to the type xs:NCName.
ERR_XQST0042_DESCRIPTION=(Not currently used.)
ERR_XQST0043_DESCRIPTION=(Not currently used.)
ERR_XQDY0044_DESCRIPTION=It is a dynamic error if the node-name property of the node constructed by a computed attribute constructor is in the namespace http://www.w3.org/2000/xmlns/ (corresponding to namespace prefix xmlns), or is in no namespace and has local name xmlns.
ERR_XQST0045_DESCRIPTION=It is a static error if the function name in a function declaration is in one of the following namespaces: http://www.w3.org/XML/1998/namespace, http://www.w3.org/2001/XMLSchema, http://www.w3.org/2001/XMLSchema-instance, http://www.w3.org/2005/xpath-functions.
ERR_XQST0046_DESCRIPTION=An implementation MAY raise a static error if the value of a URILiteral is of nonzero length and is not in the lexical space of xs:anyURI.
ERR_XQST0047_DESCRIPTION=It is a static error if multiple module imports in the same Prolog specify the same target namespace.
ERR_XQST0048_DESCRIPTION=It is a static error if a function or variable declared in a library module is not in the target namespace of the library module.
ERR_XQST0049_DESCRIPTION=It is a static error if two or more variables declared or imported by a module have equal expanded QNames (as defined by the eq operator.)
ERR_XPDY0050_DESCRIPTION=It is a dynamic error if the dynamic type of the operand of a treat expression does not match the sequence type specified by the treat expression. This error might also be raised by a path expression beginning with "/" or "//" if the context node is not in a tree that is rooted at a document node. This is because a leading "/" or "//" in a path expression is an abbreviation for an initial step that includes the clause treat as document-node().
ERR_XPST0051_DESCRIPTION=It is a static error if a QName that is used as an AtomicType in a SequenceType is not defined in the in-scope schema types as an atomic type.
ERR_XQDY0052_DESCRIPTION=(Not currently used.)
ERR_XQST0053_DESCRIPTION=(Not currently used.)
ERR_XQST0054_DESCRIPTION=It is a static error if a variable depends on itself.
ERR_XQST0055_DESCRIPTION=It is a static error if a Prolog contains more than one copy-namespaces declaration.
ERR_XQST0056_DESCRIPTION=(Not currently used.)
ERR_XQST0057_DESCRIPTION=It is a static error if a schema import binds a namespace prefix but does not specify a target namespace other than a zero-length string.
ERR_XQST0058_DESCRIPTION=It is a static error if multiple schema imports specify the same target namespace.
ERR_XQST0059_DESCRIPTION=It is a static error if an implementation is unable to process a schema or module import by finding a schema or module with the specified target namespace.
ERR_XQST0060_DESCRIPTION=It is a static error if the name of a function in a function declaration is not in a namespace (expanded QName has a null namespace URI).
ERR_XQDY0061_DESCRIPTION=It is a dynamic error if the operand of a validate expression is a document node whose children do not consist of exactly one element node and zero or more comment and processing instruction nodes, in any order.
ERR_XQDY0062_DESCRIPTION=(Not currently used.)
ERR_XQST0063_DESCRIPTION=(Not currently used.)
ERR_XQDY0064_DESCRIPTION=It is a dynamic error if the value of the name expression in a computed processing instruction constructor is equal to "XML" (in any combination of upper and lower case).
ERR_XQST0065_DESCRIPTION=A static error is raised if a Prolog contains more than one ordering mode declaration.
ERR_XQST0066_DESCRIPTION=A static error is raised if a Prolog contains more than one default element/type namespace declaration, or more than one default function namespace declaration.
ERR_XQST0067_DESCRIPTION=A static error is raised if a Prolog contains more than one construction declaration.
ERR_XQST0068_DESCRIPTION=A static error is raised if a Prolog contains more than one boundary-space declaration.
ERR_XQST0069_DESCRIPTION=A static error is raised if a Prolog contains more than one empty order declaration.
ERR_XQST0070_DESCRIPTION=A static error is raised if a namespace URI is bound to the predefined prefix xmlns, or if a namespace URI other than http://www.w3.org/XML/1998/namespace is bound to the prefix xml, or if the prefix xml is bound to a namespace URI other than http://www.w3.org/XML/1998/namespace.
ERR_XQST0071_DESCRIPTION=A static error is raised if the namespace declaration attributes of a direct element constructor do not have distinct names.
ERR_XQDY0072_DESCRIPTION=It is a dynamic error if the result of the content expression of a computed comment constructor contains two adjacent hyphens or ends with a hyphen.
ERR_XQST0073_DESCRIPTION=It is a static error if the graph of module imports contains a cycle (that is, if there exists a sequence of modules M1 ... Mn such that each Mi imports Mi+1 and Mn imports M1), unless all the modules in the cycle share a common namespace.
ERR_XQDY0074_DESCRIPTION=It is a dynamic error if the value of the name expression in a computed element or attribute constructor cannot be converted to an expanded QName (for example, because it contains a namespace prefix not found in statically known namespaces.)
ERR_XQST0075_DESCRIPTION=An implementation that does not support the Validation Feature must raise a static error if it encounters a validate expression.
ERR_XQST0076_DESCRIPTION=It is a static error if a collation subclause in an order by clause of a FLWOR expression does not identify a collation that is present in statically known collations.
ERR_XQST0077_DESCRIPTION=(Not currently used.)
ERR_XQST0078_DESCRIPTION=(Not currently used.)
ERR_XQST0079_DESCRIPTION=It is a static error if an extension expression contains neither a pragma that is recognized by the implementation nor an expression enclosed in curly braces.
ERR_XPST0080_DESCRIPTION=It is a static error if the target type of a cast or castable expression is xs:NOTATION or xs:anyAtomicType.
ERR_XPST0081_DESCRIPTION=It is a static error if a QName used in a query contains a namespace prefix that cannot be expanded into a namespace URI by using the statically known namespaces.
ERR_XQST0082_DESCRIPTION=(Not currently used.)
ERR_XPST0083_DESCRIPTION=(Not currently used.)
ERR_XQDY0084_DESCRIPTION=It is a dynamic error if the element validated by a validate statement does not have a top-level element declaration in the in-scope element declarations, if validation mode is strict.
ERR_XQST0085_DESCRIPTION=It is a static error if the namespace URI in a namespace declaration attribute is a zero-length string, and the implementation does not support [XML Names 1.1].
ERR_XQTY0086_DESCRIPTION=It is a type error if the typed value of a copied element or attribute node is namespace-sensitive when construction mode is preserve and copy-namespaces mode is no-preserve.
ERR_XQST0087_DESCRIPTION=It is a static error if the encoding specified in a Version Declaration does not conform to the definition of EncName specified in [XML 1.0].
ERR_XQST0088_DESCRIPTION=It is a static error if the literal that specifies the target namespace in a module import or a module declaration is of zero length.
ERR_XQST0089_DESCRIPTION=It is a static error if a variable bound in a for clause of a FLWOR expression, and its associated positional variable, do not have distinct names (expanded QNames).
ERR_XQST0090_DESCRIPTION=It is a static error if a character reference does not identify a valid character in the version of XML that is in use.
ERR_XQDY0091_DESCRIPTION=An implementation MAY raise a dynamic error if an xml:id error, as defined in [XML ID], is encountered during construction of an attribute named xml:id.
ERR_XQDY0092_DESCRIPTION=An implementation MAY raise a dynamic error if a constructed attribute named xml:space has a value other than preserve or default.
ERR_XQST0093_DESCRIPTION=It is a static error to import a module M1 if there exists a sequence of modules M1 ... Mi ... M1 such that each module directly depends on the next module in the sequence (informally, if M1 depends on itself through some chain of module dependencies.)
ERR_FOER0000_DESCRIPTION=Unidentified error.
ERR_FOAR0001_DESCRIPTION=Division by zero.
ERR_FOAR0002_DESCRIPTION=Numeric operation overflow/underflow.
ERR_FOCA0001_DESCRIPTION=Input value too large for decimal.
ERR_FOCA0002_DESCRIPTION=Invalid lexical value.
ERR_FOCA0003_DESCRIPTION=Input value too large for integer.
ERR_FOCA0005_DESCRIPTION=NaN supplied as float/double value.
ERR_FOCA0006_DESCRIPTION=String to be cast to decimal has too many digits of precision.
ERR_FOCH0001_DESCRIPTION=Code point not valid.
ERR_FOCH0002_DESCRIPTION=Unsupported collation.
ERR_FOCH0003_DESCRIPTION=Unsupported normalization form.
ERR_FOCH0004_DESCRIPTION=Collation does not support collation units.
ERR_FODC0001_DESCRIPTION=No context document.
ERR_FODC0002_DESCRIPTION=Error retrieving resource "{0}".
ERR_FODC0003_DESCRIPTION=Function stability not defined.
ERR_FODC0004_DESCRIPTION=Invalid argument to fn:collection.
ERR_FODC0005_DESCRIPTION=Invalid argument to fn:doc or fn:doc-available.
ERR_FODT0001_DESCRIPTION=Overflow/underflow in date/time operation.
ERR_FODT0002_DESCRIPTION=Overflow/underflow in duration operation.
ERR_FODT0003_DESCRIPTION=Invalid timezone value.
ERR_FONS0004_DESCRIPTION=No namespace found for prefix.
ERR_FONS0005_DESCRIPTION=Base-uri not defined in the static context.
ERR_FORG0001_DESCRIPTION=Invalid value for cast/constructor.
ERR_FORG0002_DESCRIPTION=Invalid argument to fn:resolve-uri().
ERR_FORG0003_DESCRIPTION=fn:zero-or-one called with a sequence containing more than one item.
ERR_FORG0004_DESCRIPTION=fn:one-or-more called with a sequence containing no items.
ERR_FORG0005_DESCRIPTION=fn:exactly-one called with a sequence containing zero or more than one item.
ERR_FORG0006_DESCRIPTION=Invalid argument type.
ERR_FORG0008_DESCRIPTION=Both arguments to fn:dateTime have a specified timezone.
ERR_FORG0009_DESCRIPTION=Error in resolving a relative URI against a base URI in fn:resolve-uri.
ERR_FORX0001_DESCRIPTION=Invalid regular expression. flags
ERR_FORX0002_DESCRIPTION=Invalid regular expression.
ERR_FORX0003_DESCRIPTION=Regular expression matches zero-length string.
ERR_FORX0004_DESCRIPTION=Invalid replacement string.
ERR_FOTY0012_DESCRIPTION=Argument node does not have a typed value.
ERR_JNDY0003_DESCRIPTION=It is a dynamic error if two pairs in an object constructor or in a simple object union have the same name.
ERR_JNTY0004_DESCRIPTION=Arrays and objects cannot be atomized. It is a type error to call fn:data on a sequence containing an array or an object.
ERR_JNUP0005_DESCRIPTION=It is a dynamic error if a pending update list contains two JSON insert update primitives on the same object and pair name.
ERR_JNUP0006_DESCRIPTION=It is a dynamic error if upd:applyUpdates causes an object to contain two pairs with the same name.
ERR_JNUP0007_DESCRIPTION=It is a type error if, in an updating expression, an array selector cannot be cast to xs:integer or if an object selector cannot be cast to xs:string.
ERR_JNUP0008_DESCRIPTION=It is a dynamic error if the target of a JSON delete or JSON replace expression is not an array or an object. It is a dynamic error if the target of a renaming expression is not an object. It is a dynamic error if the target of an appending expression is not an array. It is a dynamic error if the target of a position-inserting expression is not an array. It is a dynamic error if the target of a non-position-inserting expression is not an object.
ERR_JNUP0009_DESCRIPTION=It is a dynamic error if a pending update list contains two JSON replacing update primitives on the same object or array, and with the same selector.
ERR_JNUP0010_DESCRIPTION=It is a dynamic error if a pending update list contains two JSON renaming update primitives on the same object and with the same selector.
ERR_JNTY0011_DESCRIPTION=It is a type error if the content sequence in a node constructor or in an XQUF insert or replace update expression contains an object or an array.
ERR_JNSE0012_DESCRIPTION=It is a dynamic error to serialize something else than a unique JSON item with the JSON output method if the jsoniq-multiple-top-level-items is set to no.
ERR_JNSE0014_DESCRIPTION=It is a dynamic error to serialize a function, a node or a standalone atomic item with the JSON output method.
ERR_JNSE0015_DESCRIPTION=It is a dynamic error to serialize a top-level item which is not a JSON item if the jsoniq-multiple-top-level-items serialization parameter is not set to "array".
ERR_JNUP0016_DESCRIPTION=It is a dynamic error if it is attempted to create a replace, delete or rename update primitive with a selector that cannot be resolved against the target array or object.
ERR_JNTY0018_DESCRIPTION=It is a type error if there is not exactly one supplied parameter for an object or array selector.
ERR_JNUP0019_DESCRIPTION=It is a dynamic error if the content expression, in an object insert expression, does not evaluate to a sequence of objects.
ERR_JNTY0020_DESCRIPTION=It is a dynamic error if, when calling jn:parse-json, the option "jsoniq-multiple-top-level-items" is not a boolean.
ERR_JNDY0021_DESCRIPTION=It is a dynamic error if parsing a string to one or several objects or arrays is not successful, or if it results in more than one item and "jsoniq-multiple-top-level-items" is false.
ERR_JNSE0022_DESCRIPTION=It is a dynamic error if an object or array is encountered upon serializing as XML, XHTML, HTML or Text.
ERR_JNTY0023_DESCRIPTION=It is a dynamic error if, when calling jn:decode-from-roundtrip, the type specified in an Encoded Object is not recognized, or if the value cannot be cast to it (if it is an atomic type) or if the parsed XML node does match it (if it is an XML node type).
ERR_JNTY0024_DESCRIPTION=Arrays and objects do not have a string value. It is a type error to call fn:string on an array or an object.