1(*
2 * Copyright 2006-2008 The FLWOR Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *)
16
17(** \brief The ErrorCode enum contains all error codes that can be reported by the XQuery
18 *         processor.
19 *
20 * Error codes are either the error codes defined by the %XQuery 1.0 or the
21 * XQuery 1.0 and XPath 2.0 Functions and Operators Specification or error codes
22 * specifically related to %Zorba.
23 *)
24type
25  XQUERY_ERROR = (
26
27    // no error
28    XQ_NO_ERROR = 0,
29
30    //
31    // XPath dynamic errors
32    //
33    XPDY0002,
34    // evaluation of an expression relies on some part of the dynamic context
35    // that has not been assigned a value.
36
37    XPDY0021,
38    // (Not currently used.)
39
40    XPDY0050,
41    // the dynamic type of the operand of a treat expression does not match the
42    // sequence type specified by the treat expression. This error might also
43    // be raised by a path expression beginning with "/" or "// " if the context
44    // node is not in a tree that is rooted at a document node. This is because
45    // a leading "/" or "// " in a path expression is an abbreviation for an
46    // initial step that includes the clause treat as document-node().
47
48    //
49    // XPath static errors
50    //
51
52    XPST0001,
53    // analysis of an expression relies on some component of the static context
54    // that has not been assigned a value.
55
56    XPST0003,
57    // an expression is not a valid instance of the grammar.
58
59    XPST0005,
60    // During the analysis phase, it is a static error if the static type
61    // assigned to an expression other than the expression () or data(()) is
62    // empty-sequence().
63
64    XPST0008,
65    // an expression refers to an element name, attribute name, schema type
66    // name, namespace prefix, or variable name that is not defined in the
67    // static context, except for an ElementName in an ElementTest or an
68    // AttributeName in an AttributeTest.
69
70    XPST0010,
71    // An implementation must raise a static error if it encounters a reference
72    // to an axis that it does not support.
73
74    XPST0017,
75    // the expanded QName and number of arguments in a function call do not
76    // match the name and arity of a function signature in the static context.
77
78    XPST0051, // = 10,
79    // a QName that is used as an AtomicType in a SequenceType is not defined
80    // in the in-scope schema types as an atomic type.
81
82    XPST0080,
83    // the target type of a cast or castable expression is xs:NOTATION or
84    // xs:anyAtomicType.
85
86    XPST0081,
87    // a QName used in a query contains a namespace prefix that cannot be
88    // expanded into a namespace URI by using the statically known namespaces.
89
90    XPST0083,
91    // (Not currently used.)
92
93    //
94    // XPath type errors
95    //
96
97    XPTY0004,
98    // during the static analysis phase, an expression is found to have a
99    // static type that is not appropriate for the context in which the
100    // expression occurs, or during the dynamic evaluation phase, the dynamic
101    // type of a value does not match a required type as specified by the
102    // matching rules in 2.5.4,  // SequenceType Matching.
103
104    XPTY0006,
105    // (Not currently used.)
106
107    XPTY0007,
108    // (Not currently used.)
109
110    XPTY0018,
111    // the result of the last step in a path expression contains both nodes
112    // and atomic values.
113
114    XPTY0019,
115    // the result of a step (other than the last step) in a path expression
116    // contains an atomic value.
117
118    XPTY0020,
119    // in an axis step, the context item is not a node.
120
121    //
122    // XQuery dynamic errors
123    //
124
125    XQDY0025, // = 20,
126    // any attribute of a constructed element does not have a name that is
127    // distinct from the names of all other attributes of the constructed
128    // element.
129
130    XQDY0026,
131    // a constructor or replace expression results in a processing instruction
132    // node whose content includes the string "?>".
133
134    XQDY0027,
135    // In a validate expression, it is a dynamic error if the root element
136    // information item in the PSVI resulting from validation does not have
137    // the expected validity property: valid if validation mode is strict,
138    // or either valid or notKnown if validation mode is lax.
139
140    XQDY0029,
141    // (Not currently used.)
142
143    XQDY0041,
144    // the value of the name expression in a computed processing instruction
145    // constructor cannot be cast to the type xs:NCName.
146
147    XQDY0044,
148    // the node-name property of the node constructed by a computed attribute
149    // constructor is in the namespace http:// www.w3.org/2000/xmlns/
150    // (corresponding to namespace prefix xmlns), or is in no namespace and
151    // has local name xmlns.
152
153    XQDY0052,
154    // (Not currently used.)
155
156    XQDY0061,
157    // the operand of a validate expression is a document node whose children
158    // do not consist of exactly one element node and zero or more comment and
159    // processing instruction nodes, in any order.
160
161    XQDY0062,
162    // (Not currently used.)
163
164    XQDY0064,
165    // the value of the name expression in a computed processing instruction
166    // constructor is equal to "XML" (in any combination of upper and lower case).
167
168    XQDY0072, // = 30,
169    // a constructor or replace expression results in a comment node whose
170    // content ends with a hyphen or contains two adjacent hyphens.
171
172    XQDY0074,
173    // the value of the name expression in a computed element or attribute
174    // constructor or rename expression cannot be converted to an expanded
175    // QName (for example, because it contains a namespace prefix not found
176    // in statically known namespaces.)
177
178    XQDY0084,
179    // the element validated by a validate statement does not have a top-level
180    // element declaration in the in-scope element declarations, if validation
181    // mode is strict.
182
183    XQDY0091,
184    // An implementation MAY raise a dynamic error if an xml:id error, as
185    // defined in [XML ID], is encountered during construction of an attribute
186    // named xml:id.
187
188    XQDY0092,
189    // An implementation MAY raise a dynamic error if a constructed attribute
190    // named xml:space has a value other than preserve or default.
191
192    //
193    // XQuery static errors
194    //
195
196    XQST0009,
197    // An implementation that does not support the Schema Import Feature must
198    // raise a static error if a Prolog contains a schema import.
199
200    XQST0012,
201    // the set of definitions contained in all schemas imported by a Prolog do
202    // not satisfy the conditions for schema validity specified in Sections 3,
203    //  // and 5,  // of [XML Schema] Part 1--i.e., each definition must be
204    // valid, complete, and unique.
205
206    XQST0013,
207    // an implementation recognizes a pragma but determines that its content
208    // is invalid.
209
210    XQST0014,
211    // (Not currently used.)
212
213    XQST0015,
214    // (Not currently used.)
215
216    XQST0016, // = 40,
217    // An implementation that does not support the Module Feature raises a
218    // static error if it encounters a module declaration or a module import.
219
220    XQST0022,
221    // the value of a namespace declaration attribute is not a URILiteral.
222
223    XQST0031,
224    // the version number specified in a version declaration is not supported by
225    // the implementation.
226
227    XQST0032,
228    // A static error is raised if a Prolog contains more than one base URI
229    // declaration.
230
231    XQST0033,
232    // a module contains multiple bindings for the same namespace prefix.
233
234    XQST0034,
235    // multiple functions declared or imported by a module have the number of
236    // arguments and their expanded QNames are equal (as defined by the eq
237    // operator).
238
239    XQST0035,
240    // It is a static error to import two schema components that both define
241    // the same name in the same symbol space and in the same scope.
242
243    XQST0036,
244    // It is a static error to import a module if the importing module's in-scope
245    // schema types do not include definitions for the schema type names that
246    // appear in the declarations of variables and functions (whether in an
247    // argument type or return type) that are present in the imported module and
248    // are referenced in the importing module.
249
250    XQST0037,
251    // (Not currently used.)
252
253    XQST0038,
254    // a Prolog contains more than one default collation declaration, or the
255    //value specified by a default collation declaration is not present in
256    // statically known collations.
257
258    XQST0039, // = 50,
259    // It is a static error for a function declaration to have more than one
260    // parameter with the same name.
261
262    XQST0040,
263    // the attributes specified by a direct element constructor do not have
264    // distinct expanded QNames.
265
266    XQST0042,
267    // (Not currently used.)
268
269    XQST0043,
270    // (Not currently used.)
271
272    XQST0045,
273    // the function name in a function declaration is in one of the following
274    // namespaces:
275    // http://www.w3.org/XML/1998/namespace,
276    // http://www.w3.org/2001/XMLSchema,
277    // http:// www.w3.org/2001/XMLSchema-instance,
278    // http://www.w3.org/2005/xpath-functions.
279
280    XQST0046,
281    // An implementation MAY raise a static error if the value of a URILiteral
282    // is of nonzero length and is not in the lexical space of xs:anyURI.
283
284    XQST0047,
285    // multiple module imports in the same Prolog specify the same target
286    // namespace.
287
288    XQST0048,
289    // a function or variable declared in a library module is not in the
290    // target namespace of the library module.
291
292    XQST0049,
293    // two or more variables declared or imported by a module have equal
294    // expanded QNames (as defined by the eq operator.)
295
296    XQST0053,
297    // (Not currently used.)
298
299    XQST0054, // = 60,
300    // a variable depends on itself.
301
302    XQST0055,
303    // a Prolog contains more than one copy-namespaces declaration.
304
305    XQST0056,
306    // (Not currently used.)
307
308    XQST0057,
309    // a schema import binds a namespace prefix but does not specify a target
310    // namespace other than a zero-length string.
311
312    XQST0058,
313    // multiple schema imports specify the same target namespace.
314
315    XQST0059,
316    // an implementation is unable to process a schema or module import by
317    // finding a schema or module with the specified target namespace.
318
319    XQST0060,
320    // the name of a function in a function declaration is not in a namespace
321    // (expanded QName has a null namespace URI).
322
323    XQST0063,
324    // (Not currently used.)
325
326    XQST0065,
327    // A static error is raised if a Prolog contains more than one ordering
328    // mode declaration.
329
330    XQST0066,
331    // A static error is raised if a Prolog contains more than one default
332    // element/type namespace declaration, or more than one default function
333    // namespace declaration.
334
335    XQST0067, // = 70,
336    // A static error is raised if a Prolog contains more than one construction declaration.
337
338    XQST0068,
339    // A static error is raised if a Prolog contains more than one boundary-space
340    // declaration.
341
342    XQST0069,
343    // A static error is raised if a Prolog contains more than one empty order declaration.
344
345    XQST0070,
346    // A static error is raised if a namespace URI is bound to the predefined
347    // prefix xmlns, or if a namespace URI other than
348    // http:// www.w3.org/XML/1998/namespace is bound to the prefix xml, or if
349    // the prefix xml is bound to a namespace URI other
350    // than http:// www.w3.org/XML/1998/namespace.
351
352    XQST0071,
353    // A static error is raised if the namespace declaration attributes of a
354    // direct element constructor do not have distinct names.
355
356    XQST0073,
357    // the graph of module imports contains a cycle (that is, if there exists a
358    // sequence of modules M1,  ... Mn such that each Mi imports Mi+1, and Mn
359    // imports M1), unless all the modules in the cycle share a common namespace.
360
361    XQST0075,
362    // An implementation that does not support the Validation Feature must raise
363    // a static error if it encounters a validate expression.
364
365    XQST0076,
366    // a collation subclause in an order by clause of a FLWOR expression does
367    // not identify a collation that is present in statically known collations.
368
369    XQST0077,
370    // (Not currently used.)
371
372    XQST0078,
373    // (Not currently used.)
374
375    XQST0079, // = 80,
376    // an extension expression contains neither a pragma that is recognized by
377    // the implementation nor an expression enclosed in curly braces.
378
379    XQST0082,
380    // (Not currently used.)
381
382    XQST0085,
383    // the namespace URI in a namespace declaration attribute is a zero-length
384    // string, and the implementation does not support [XML Names 1.1].
385
386    XQST0087,
387    // the encoding specified in a Version Declaration does not conform to the
388    // definition of EncName specified in [XML 1.0].
389
390    XQST0088,
391    // the literal that specifies the target namespace in a module import or a
392    // module declaration is of zero length.
393
394    XQST0089,
395    // a variable bound in a for clause of a FLWOR expression, and its associated
396    // positional variable, do not have distinct names (expanded QNames).
397
398    XQST0090,
399    // a character reference does not identify a valid character in the version
400    // of XML that is in use.
401
402    XQST0093,
403    // It is a static error to import a module M1,  // if there exists a sequence
404    // of modules M1, ... Mi ... M1, such that each module directly depends on
405    // the next module in the sequence (informally, if M1, depends on itself
406    // through some chain of module dependencies.)
407
408    //
409    // XQuery Type erros
410    //
411
412    XQTY0023,
413    // (Not currently used.)
414
415    XQTY0024,
416    // the content sequence in an element constructor contains an attribute node
417    // following a node that is not an attribute node.
418
419    XQTY0028, // = 90,
420    // (Not currently used.)
421
422    XQTY0030,
423    // the argument of a validate expression does not evaluate to exactly one
424    // document or element node.
425
426    XQTY0086,
427    // the typed value of a copied element or attribute node is namespace-
428    // sensitive when construction mode is preserve and copy-namespaces mode
429    // is no-preserve.
430
431    //
432    // XQuery Update Facility
433    //
434
435    XUST0001,
436    // It is a static error if an updating expression is used in any position
437    // other than one of the following:
438    // 1. The topmost expression in the body of a query.
439    // 2. The modify clause of a transform expression.
440    // 3. The return clause of a FLWOR expression.
441    // 4. The return clauses of a typeswitch expression in which every return
442    //    clause contains an updating expression, an empty expression ( ), or
443    //    a call to the fn:error function.
444    // 5. The then and else clauses of a conditional statement in which both
445    //    the then and else clauses contain either an updating expression, an
446    //    empty expression ( ), or a call to the fn:error function.
447    // 6. An operand of a comma expression in which each operand is either an
448    //    updating expression, an empty expression ( ), or a call to the
449    //    fn:error function.
450    // 7. The content of a parenthesized expression.
451    // 8. The body of a function declaration in which the keyword updating
452    //    is specified.
453
454    XUST0002,
455    // It is a static error if an non-updating expression other than an
456    // empty expression ( ) or a call to the fn:error function is used in
457    // one of the following positions:
458    // 1. The modify clause of a transform expression.
459    // 2. The top-level expression in the body of a function declaration in
460    //     which the keyword updating is specified.
461
462    XUST0003,
463    // It is a static error if a Prolog contains more than one revalidation
464    // declaration.
465
466    XUTY0004,
467    // It is a type error if the insertion sequence of an insert expression
468    // contains an attribute node following a node that is not an attribute node.
469
470    XUTY0005,
471    // In an insert expression where into, as first into, or as last into
472    // is specified, it is a type error if the target expression returns a
473    // non-empty result that does not consist of a single element or document
474    // node.
475
476    XUTY0006,
477    // In an insert expression where before or after is specified, it is a
478    // type error if the target expression returns a non-empty result that
479    // does not consist of a single element, text, comment, or processing
480    // instruction node.
481
482    XUTY0007,
483    // It is a type error if the target expression of a delete expression
484    // does not return a sequence of zero or more nodes.
485
486    XUTY0008, // = 100,
487    // In a replace expression, it is a type error if the target expression
488    // returns a non-empty result that does not consist of a single element,
489    // attribute, text, comment, or processing instruction node.
490
491    XUDY0009,
492    // In a replace expression where value of is not specified, it is a
493    // dynamic error if the node returned by the target expression does not
494    // have a parent.
495
496    XUTY0010,
497    // In a replace expression where value of is not specified and the
498    // target is an element, text, comment, or processing instruction node,
499    // it is a type error if the replacement sequence does not consist of
500    // zero or more element, text, comment, or processing instruction nodes.
501
502    XUTY0011,
503    // In a replace expression where value of is not specified and the target
504    // is an attribute node, it is a type error if the replacement sequence
505    // does not consist of zero or more attribute nodes.
506
507    XUTY0012,
508    // In a rename expression, it is a type error if the target expression
509    // returns a non-empty result that does not consist of a single element,
510    // attribute, or processing instruction node.
511
512    XUTY0013,
513    // In a transform expression, it is a type error if a source expression
514    // in the copy clause does not return a single node.
515
516    XUDY0014,
517    // In a transform expression, it is a dynamic error if the modify clause
518    // modifies any node that was not created by the copy clause.
519
520    XUDY0015,
521    // It is a dynamic error if any node is the target of more than one
522    // rename expression within the same query.
523
524    XUDY0016,
525    // It is a dynamic error if any node is the target of more than one
526    // replace expression (without value of being specified) within the
527    // same query.
528
529    XUDY0017,
530    // It is a dynamic error if any node is the target of more than one
531    // replace value of expression within the same query.
532
533    XUDY0018, // = 110,
534    // It is a dynamic error if a function that was declared to be external
535    // but not updating returns a non-empty pending update list.
536
537    XUDY0019,
538    // It is a dynamic error if a function that was declared to be both
539    // external and updating returns a non-empty data model instance.
540
541    XUDY0020,
542    // An implementation may (but is not required to) raise a dynamic error
543    // if a node is deleted that had no parent before execution of the query
544    // began.
545
546    XUDY0021,
547    // It is a dynamic error if the XDM instance that would result from
548    // applying all the updates in a query violates any constraint specified
549    // in [XQuery/XPath Data Model (XDM)]. In this case, none of the updates
550    // in the query are made effective.
551
552    XUTY0022,
553    // It is a type error if an insert expression specifies the insertion
554    // of an attribute node into a document node.
555
556    XUDY0023,
557    // It is a dynamic error if an insert, replace, or rename expression
558    // affects an element node by introducing a new namespace binding that
559    // conflicts with one of its existing namespace bindings.
560
561    XUDY0024,
562    // It is a dynamic error if the effect of a set of updating expressions
563    // is to introduce conflicting namespace bindings into an element node.
564
565    XUDY0025,
566    // It is a dynamic error if the target of a rename expression is a
567    // processing instruction node, and the new name expression returns a
568    // QName with a non-empty namespace prefix.
569
570    XUST0026,
571    // It is a static error if a revalidation declaration in a Prolog
572    // specifies a revalidation mode that is not supported by the current
573    // implementation.
574
575    XUDY0027,
576    // It is a dynamic error if the target expression of an insert, replace,
577    // or rename expression evaluates to an empty sequence.
578
579    XUST0028, // = 120,
580    // It is a static error if a function declaration specifies both updating
581    // and a return type.
582
583    XUDY0029,
584    // In an insert expression where before or after is specified, it is a
585    // dynamic error if node returned by the target expression does not have
586    // a parent.
587
588    XUDY0030,
589    // It is a dynamic error if an insert expression specifies the insertion
590    // of an attribute node before or after a child of a document node.
591
592    XUDY0031,
593    // It is a dynamic error if multiple calls to fn:put in the same snapshot
594    // specify the same URI (after resolution of relative URIs).
595
596    //
597    // XQuery 1.0 and XPath 2.0 Functions and Operators
598    //
599
600    FOER0000, //Unidentified error.
601
602    FOAR0001, //Division by zero.  This error is raised whenever an attempt is made to divide by zero.
603
604    FOAR0002, //Numeric operation overflow/underflow.  This error is raised whenever numeric operations result in an overflow or underflow.
605
606    FOCA0001, //Input value too large for decimal.
607
608    FOCA0002, //Invalid lexical value.
609
610    FOCA0003, //Input value too large for integer.
611
612    FOCA0005, //NaN supplied as float/double value.
613
614    FOCA0006, //String to be cast to decimal has too many digits of precision.
615
616    FOCH0001, //Code point not valid.
617
618    FOCH0002, //Unsupported collation.
619
620    FOCH0003, //Unsupported normalization form.
621
622    FOCH0004, //Collation does not support collation units.
623
624    FODC0001, //No context document.
625
626    FODC0002, //Error retrieving resource.
627
628    FODC0003, //Function stability not defined.
629
630    FODC0004, //Invalid argument to fn:collection.
631
632    FODC0005, //Invalid argument to fn:doc or fn:doc-available.
633
634    FODT0001, // = 140, //Overflow/underflow in date/time operation.
635
636    FODT0002, //Overflow/underflow in duration operation.
637
638    FODT0003, //Invalid timezone value.
639
640    FONS0004, //No namespace found for prefix.
641
642    FONS0005, //Base-uri not defined in the static context.
643
644    FORG0001, //Invalid value for cast/constructor.
645
646    FORG0002, //Invalid argument to fn:resolve-uri().
647
648    FORG0003, //fn:zero-or-one called with a sequence containing more than one item.
649
650    FORG0004, //fn:one-or-more called with a sequence containing no items.
651
652    FORG0005, //fn:exactly-one called with a sequence containing zero or more than one item.
653
654    FORG0006, //Invalid argument type.
655
656    FORG0008, //Both arguments to fn:dateTime have a specified timezone.
657
658    FORG0009, //Error in resolving a relative URI against a base URI in fn:resolve-uri.
659
660    FORX0001, //Invalid regular expression. flags
661
662    FORX0002, //Invalid regular expression.
663
664    FORX0003, //Regular expression matches zero-length string.
665
666    FORX0004, //Invalid replacement string.
667
668    FOTY0012, //Argument node does not have a typed value.
669
670    FOUP0001,
671    // It is a dynamic error if the first operand of fn:put is not a node of
672    // a supported kind.
673
674    FOUP0002,
675    // It is a dynamic error if the second operand of fn:put is not a valid
676    // lexical representation of the xs:anyURI type.
677
678    //
679    // Serialization errors
680    //
681    SENR0001, // = 160,
682    //  It is an error if an item in S6 in sequence normalization is an attribute node or a namespace node.
683
684    SERE0003,
685    //  It is an error if the serializer is unable to satisfy the rules for
686    //  either a well-formed XML document entity or a well-formed XML external
687    //  general parsed entity, or both, except for content modified by the
688    //  character expansion phase of serialization.
689
690    SEPM0004,
691    //  It is an error to specify the doctype-system parameter, or to specify
692    //  the standalone parameter with a value other than omit, if the instance
693    //  of the data model contains text nodes or multiple element nodes as
694    //  children of the root node.
695
696    SERE0005,
697    //  It is an error if the serialized result would contain an NCName Names
698    //  that contains a character that is not permitted by the version of
699    //  Namespaces in XML specified by the version parameter.
700
701    SERE0006,
702    //  It is an error if the serialized result would contain a character
703    //  that is not permitted by the version of XML specified by the version
704    //  parameter.
705
706    SESU0007,
707    //  It is an error if an output encoding other than UTF-8 or UTF-16 is requested and the serializer
708    //  does not support that encoding.
709
710    SERE0008,
711    //  It is an error if a character that cannot be represented in the encoding that the serializer is using
712    //  for output appears in a context where character references are not allowed (for example if the character
713    //  occurs in the name of an element).
714
715    SEPM0009,
716    //  It is an error if the omit-xml-declaration parameter has the value yes, and the standalone attribute
717    //  has a value other than omit; or the version parameter has a value other than 1.0 and the doctype-system
718    //  parameter is specified.
719
720    SEPM0010,
721    //  It is an error if the output method is xml, the value of the undeclare-prefixes parameter is yes, and
722    //  the value of the version parameter is 1.0.
723
724    SESU0011,
725    //  It is an error if the value of the normalization-form parameter specifies a normalization form that
726    //  is not supported by the serializer.
727
728    SERE0012, // = 170,
729    //  It is an error if the value of the normalization-form parameter is fully-normalized and any relevant
730    //  construct of the result begins with a combining character.
731
732    SESU0013,
733    //  It is an error if the serializer does not support the version of XML or HTML specified by the version parameter.
734
735    SERE0014,
736    //  It is an error to use the HTML output method when characters which are legal in XML but not in HTML,
737    //  specifically the control characters #x7F-#x9F, appear in the instance of the data model.
738
739    SERE0015,
740    //  It is an error to use the HTML output method when > appears within a processing instruction in the data model
741    //  instance being serialized.
742
743    SEPM0016,
744    // It is a an error if a parameter value is invalid for the defined domain.
745
746    XTDE1310,
747    // It is a non-recoverable dynamic error if the picture string does not satisfy the format-number function rules.
748
749    XTDE1340,
750    // It is a non-recoverable dynamic error if the syntax of the picture is incorrect.
751
752    XTDE1350,
753    // It is a non-recoverable dynamic error if a component specifier within the picture refers to components that are not available in the given type of $value.
754
755    //
756    // ZORBA errors
757    //
758    XQP0000_DYNAMIC_RUNTIME_ERROR,
759    XQP0001_DYNAMIC_ITERATOR_OVERRUN,
760    XQP0002_DYNAMIC_ILLEGAL_NODE_CHILD, // = 180,
761    XQP0003_DYNAMIC_TARGET_NAMESPACE_NOT_FOUND,
762    XQP0004_SYSTEM_NOT_SUPPORTED,
763    XQP0005_SYSTEM_ASSERT_FAILED,
764    XQP0006_SYSTEM_HASH_ERROR_KEYLEN_EXCEEDS_MAXKEYLEN,
765    XQP0007_SYSTEM_VECTOR_OUT_OF_RANGE,
766    XQP0008_SYSTEM_READ_LOCK_FAILED,
767    XQP0009_SYSTEM_WRITE_LOCK_FAILED,
768    XQP0010_SYSTEM_POP_FROM_EMPTY_LIST,
769    XQP0011_SYSTEM_FILE_ERROR_IN_FUNCTION,
770    XQP0012_SYSTEM_FXCHARHEAP_IOEXCEPTION, // = 190,
771    XQP0013_SYSTEM_MMFILE_IOEXCEPTION,
772    XQP0015_SYSTEM_NOT_YET_IMPLEMENTED,
773    XQP0019_INTERNAL_ERROR,
774    XQP0020_INVALID_URI,
775    XQP0021_USER_ERROR,
776    XQP0022_GET_RESULTS_AS_DOM_FAILED,
777    XQP0023_GET_RESULTS_AS_SAX_FAILED,
778    XQP0025_COULD_NOT_CREATE_ITEM,
779    XQP0026_COULD_NOT_CREATE_THREAD,
780    XQP0026_CANNOT_INIT_STORE, // = 200,
781    XQP0027_MS_DOM_ERROR,
782    XQP0028_FUNCTION_IMPL_NOT_FOUND,
783    XQP0030_DEADLOCK,
784
785    XQP0031_MALFORMED_XQUERYX_INPUT,
786    XQP0032_ERROR_TRANSFORMING_XQUERYX_TO_XQUERY,
787
788    XQP0033_INDEX_DOES_NOT_EXIST,
789    XQP0034_INDEX_ALREADY_EXISTS,
790    XQP0035_MULTI_VALUED_INDEX_KEY,
791    XQP0036_NON_ATOMIC_INDEX_KEY,
792    XQP0037_INDEX_IS_NOT_DECLARED,
793    XQP0038_INDEX_IS_ALREADY_DECLARED,
794    XQP0039_INDEX_IN_NON_DATA_MODULE,
795    XQP0040_INDEX_HAS_FREE_VARS,
796    XQP0041_INDEX_HAS_INVALID_DATA_SOURCE,
797    XQP0042_INDEX_NOT_DETERMINISTIC,
798
799    //
800    // Zorba API errors
801    //
802    API0001_XQUERY_STRING_IS_EMPTY,
803    API0002_COMPILE_FAILED,
804    API0003_XQUERY_NOT_COMPILED, // = 210,
805    API0004_XQUERY_ALREADY_COMPILED,
806    API0005_COLLECTION_ALREADY_EXISTS,
807    API0006_COLLECTION_NOT_FOUND,
808    API0007_COLLECTION_ITEM_MUST_BE_A_NODE,
809    API0009_THREAD_NOT_INITIALIZED,
810    API0010_XQUERY_EXECUTION_NOT_STARTED,
811    API0011_INVALID_VARIABLE_QNAME,
812    API0012_INVALID_INDEX,
813    API0013_INAPPROPRIATE_VARIABLE_VALUE,
814    API0014_INVALID_ARGUMENT, // = 220,
815    API0015_CANNOT_OPEN_FILE,
816    API0016_CANNOT_CREATE_COLLECTION,
817    API0017_CANNOT_LOAD_DOCUMENT,
818    API0018_CANNOT_ACCESS_FILE,
819    API0019_FUNCTION_ALREADY_REGISTERED,
820    API0020_DOCUMENT_ALREADY_EXISTS,
821    API0021_ITEM_TO_LOAD_IS_NOT_NODE,
822    API0022_QUERY_ALREADY_CLOSED,
823    API0023_CANNOT_SERIALIZE_UPDATE_QUERY,
824    API0024_CANNOT_ITERATE_OVER_UPDATE_QUERY, // = 230,
825    API0025_END_OF_SEQUENCE,
826    API0026_CANNOT_CLOSE_QUERY_WITH_ITERATORS,
827    API0027_CANNOT_UPDATE_DCTX_WITH_ITERATORS,
828    API0028_INVALID_NODE_URI,
829    API0029_NODE_DOES_NOT_BELONG_TO_COLLECTION,
830    API0030_NO_NODE_AT_GIVEN_POSITION,
831    API0031_NODE_ALREADY_IN_COLLECTION,
832    API0032_NON_ROOT_NODE_IN_COLLECTION,
833    API0032_QUERY_NOT_COMPILED_IN_DEBUG_MODE,
834    API0033_FILE_OR_FOLDER_DOES_NOT_EXIST,
835    API0034_FILE_OR_FOLDER_CANNOT_BE_OPENED,
836    API0035_COLLECTION_CANNOT_BE_SERIALIZED,
837    API0036_TIDY_ERROR,
838    API0037_TIDY_ERROR_SET_OPTION,
839  {$IFDEF ZORBA_WITH_EMAIL}
840    API0038_SMTP_SEVER_ERROR_SET_OPTION,
841    API0039_RECIPIENT_SET_OPTION,
842    API0040_MAIL_NOT_SENT,
843  {$ENDIF}  (* ZORBA_WITH_EMAIL *)
844    API0050_REST_ERROR_HEADER,
845    API0051_REST_ERROR_PAYLOAD,
846    API0060_CONV_JSON_PARSE,
847    API0061_CONV_JSON_SERIALIZE,
848    API0062_CONV_JSON_PARAM,
849    API0063_CONV_JSON_ML_PARSE,
850    API0064_CONV_JSON_ML_SERIALIZE,
851    API0065_CONV_JSON_ML_PARAM,
852    API0066_JSON_SEQUENCE_CANNOT_BE_SERIALIZED,
853
854    //
855    // Store Errors
856    //
857    STR0001_INDEX_ALREADY_EXISTS,
858    STR0002_INDEX_DOES_NOT_EXIST,
859    STR0003_INDEX_PARTIAL_KEY_INSERT,
860    STR0004_INDEX_PARTIAL_KEY_REMOVE, // = 250,
861    STR0005_INDEX_PARTIAL_KEY_PROBE,
862    STR0006_INDEX_INVALID_BOX_PROBE,
863    STR0007_INDEX_UNSUPPORTED_PROBE_CONDITION,
864    STR0020_LOADER_IO_ERROR,
865    STR0021_LOADER_PARSING_ERROR,
866    STR0030_NODEID_ERROR,
867    STR0040_TYPE_ERROR, // = 257,
868    STR0050_FUNCTION_NOT_IMPLEMENTED_FOR_ITEMTYPE,
869
870    //Class Serialization errors
871    SRL0001_INEXISTENT_INPUT_FIELD,
872    SRL0002_INCOMPATIBLE_INPUT_FIELD,
873    SRL0003_UNRECOGNIZED_CLASS_FIELD,
874    SRL0004_UNRESOLVED_FIELD_REFERENCE,
875    SRL0005_CLASS_VERSION_IS_TOO_NEW,
876    SRL0006_CLASS_VERSION_IS_TOO_OLD,
877    SRL0007_INPUT_ARCHIVE_USED_FOR_OUT_SERIALIZATION,
878    SRL0008_OUTPUT_ARCHIVE_USED_FOR_IN_SERIALIZATION,
879    SRL0009_CLASS_NOT_SERIALIZABLE,
880    SRL0010_ITEM_TYPE_NOT_SERIALIZABLE,
881    SRL0011_INPUT_ARCHIVE_NOT_ZORBA_ARCHIVE,
882    SRL0012_INCOMPATIBLE_ARCHIVE_VERSION,
883    SRL0013_UNABLE_TO_LOAD_QUERY,
884
885    //
886    // XQuery Data Definition Facility:w
887    //
888    XDST0001,
889    XDST0002,
890    XDST0007,
891    XDST0008,
892    XDST0010,
893
894    XDDY0003,
895    XDDY0004,
896    XDDY0005,
897    XDDY0006,
898    XDDY0009,
899    XDDY0011,
900    XDDY0012,
901    XDDY0013,
902    XDDY0014,
903
904    MAX_ZORBA_ERROR_CODE
905  );
906
907(*
908 * Local variables:
909 * mode: c++
910 * End:
911 *)
912