source: trunk/src/xmlpatterns/environment/qreportcontext_p.h@ 209

Last change on this file since 209 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 94.2 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the QtXmlPatterns module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial Usage
10** Licensees holding valid Qt Commercial licenses may use this file in
11** accordance with the Qt Commercial License Agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and Nokia.
14**
15** GNU Lesser General Public License Usage
16** Alternatively, this file may be used under the terms of the GNU Lesser
17** General Public License version 2.1 as published by the Free Software
18** Foundation and appearing in the file LICENSE.LGPL included in the
19** packaging of this file. Please review the following information to
20** ensure the GNU Lesser General Public License version 2.1 requirements
21** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
22**
23** In addition, as a special exception, Nokia gives you certain
24** additional rights. These rights are described in the Nokia Qt LGPL
25** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
26** package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you are unsure which license is appropriate for your use, please
37** contact the sales department at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42//
43// W A R N I N G
44// -------------
45//
46// This file is not part of the Qt API. It exists purely as an
47// implementation detail. This header file may change from version to
48// version without notice, or even be removed.
49//
50// We mean it.
51
52#ifndef Patternist_ReportContext_H
53#define Patternist_ReportContext_H
54
55#include <QSharedData>
56#include <QAbstractUriResolver>
57#include <QSourceLocation>
58
59#include "qnamepool_p.h"
60#include "qxmlname.h"
61
62QT_BEGIN_HEADER
63
64QT_BEGIN_NAMESPACE
65
66class QAbstractMessageHandler;
67class QSourceLocation;
68class QString;
69
70namespace QPatternist
71{
72 class SourceLocationReflection;
73
74 /**
75 * @short A callback for reporting errors.
76 *
77 * ReportContext receives messages of various severity and type via its
78 * functions warning() and error(). In turn, ReportContext create Message instances
79 * and submit them to the QAbstractMessageHandler instance returned by messageHandler().
80 *
81 * The Message attributes are set as follows:
82 *
83 * - Message::description() - A translated, human-readable description
84 * - Message::type() - Message::Error if a static, dynamic or type error was encountered
85 * that halted compilation or evaluation, or Message::Warning in case of a warning
86 * - Message::identifier() - This is a URI consisting of the error namespace with the
87 * error code as fragment. For example, a Message representing a syntax error
88 * would return the type "http://www.w3.org/2005/xqt-errors#XPST0003". The convenience
89 * function codeFromURI() can be used to extract the error code. The error namespace
90 * is typically the namespace for XPath and XQuery errors(as in the previous example), but
91 * can also be user defined.
92 *
93 * @see <a href="http://www.w3.org/TR/xpath20/#id-identifying-errors">XML Path Language
94 * (XPath) 2.0, 2.3.2 Identifying and Reporting Errors</a>
95 * @see <a href="http://www.w3.org/TR/xpath-functions/#func-error">XQuery 1.0 and
96 * XPath 2.0 Functions and Operators, 3 The Error Function</a>
97 * @author Frans Englich <[email protected]>
98 * @warning This file is auto-generated from extractErrorCodes.xsl. Any
99 * modifications done to this file are lost.
100 */
101 class Q_AUTOTEST_EXPORT ReportContext : public QSharedData
102 {
103 public:
104 typedef QHash<const SourceLocationReflection *, QSourceLocation> LocationHash;
105
106 /**
107 * A smart pointer wrapping ReportContext instances.
108 */
109 typedef QExplicitlySharedDataPointer<ReportContext> Ptr;
110
111 /**
112 * @short Default constructors.
113 *
114 * For some reason GCC fails to synthesize it, so we provide an empty
115 * one here.
116 */
117 inline ReportContext() {}
118
119 virtual ~ReportContext();
120
121 /**
122 * Error codes that corresponds to the error codes defined in the
123 * relevant specifications. They are used throughout the API for
124 * identifying error conditions.
125 *
126 * While strings could have been used for identifying errors, enums
127 * reduces bugs by providing type safety.
128 *
129 * @see <a href="http://www.w3.org/TR/xpath20/#errors">XML
130 * Path Language (XPath) 2.0, 2.3 Error Handling</a>
131 * @see <a href="http://www.w3.org/TR/xpath-functions/#d1e10985">XQuery 1.0
132 * and XPath 2.0 Functions and Operators, C Error Summary</a>
133 * @see <a href="http://www.w3.org/TR/xslt20/#error-summary">XSL Transformations
134 * (XSLT) Version 2.0, E Summary of Error Conditions (Non-Normative)</a>
135 * @note The enumerator values' Doxygen documentation is copied from the
136 * W3C documents
137 * <a href="http://www.w3.org/TR/xpath-functions">XQuery 1.0 and XPath
138 * 2.0 Functions and Operators</a>,
139 * <a href="http://www.w3.org/TR/xpath20">XML Path Language (XPath) 2.0</a>, and
140 * <a href="http://www.w3.org/TR/xslt20/">XSL Transformations (XSLT)
141 * Version 2.0</a>, respectively. The doxygen documentation is therefore covered
142 * by the following legal notice:
143 * "Copyright @ 2005 W3C&reg; (MIT, ERCIM, Keio), All Rights Reserved. W3C
144 * <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
145 * <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and
146 * <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
147 * use</a> rules apply."
148 * @warning This enumerator is auto-generated from the relevant specifications
149 * by the XSL-T stylesheet extractErrorCodes.xsl. Hence, any modifications
150 * done to this file, in contrary to the stylesheet, are therefore lost.
151 */
152 enum ErrorCode
153 {
154
155 /**
156 * It is a static error if analysis of an expression relies on some
157 * component of the static context that has not been assigned a
158 * value.
159 */
160 XPST0001,
161
162 /**
163 * It is a dynamic error if evaluation of an expression relies on
164 * some part of the dynamic context that has not been assigned a
165 * value.
166 */
167 XPDY0002,
168
169 /**
170 * It is a static error if an expression is not a valid instance
171 * of the grammar defined in A.1 EBNF.
172 */
173 XPST0003,
174
175 /**
176 * It is a type error if, during the static analysis phase, an expression
177 * is found to have a static type that is not appropriate for the
178 * context in which the expression occurs, or during the dynamic
179 * evaluation phase, the dynamic type of a value does not match
180 * a required type as specified by the matching rules in 2.5.4 SequenceType
181 * Matching.
182 */
183 XPTY0004,
184
185 /**
186 * During the analysis phase, it is a static error if the static
187 * type assigned to an expression other than the expression () or
188 * data(()) is empty-sequence().
189 */
190 XPST0005,
191
192 /**
193 * (Not currently used.)
194 */
195 XPTY0006,
196
197 /**
198 * (Not currently used.)
199 */
200 XPTY0007,
201
202 /**
203 * It is a static error if an expression refers to an element name,
204 * attribute name, schema type name, namespace prefix, or variable
205 * name that is not defined in the static context, except for an
206 * ElementName in an ElementTest or an AttributeName in an AttributeTest.
207 */
208 XPST0008,
209
210 /**
211 * An implementation that does not support the Schema Import Feature
212 * must raise a static error if a Prolog contains a schema import.
213 */
214 XQST0009,
215
216 /**
217 * An implementation must raise a static error if it encounters
218 * a reference to an axis that it does not support.
219 */
220 XPST0010,
221
222 /**
223 * It is a static error if the set of definitions contained in all
224 * schemas imported by a Prolog do not satisfy the conditions for
225 * schema validity specified in Sections 3 and 5 of [XML Schema]
226 * Part 1--i.e., each definition must be valid, complete, and unique.
227 */
228 XQST0012,
229
230 /**
231 * It is a static error if an implementation recognizes a pragma
232 * but determines that its content is invalid.
233 */
234 XQST0013,
235
236 /**
237 * (Not currently used.)
238 */
239 XQST0014,
240
241 /**
242 * (Not currently used.)
243 */
244 XQST0015,
245
246 /**
247 * An implementation that does not support the Module Feature raises
248 * a static error if it encounters a module declaration or a module
249 * import.
250 */
251 XQST0016,
252
253 /**
254 * It is a static error if the expanded QName and number of arguments
255 * in a function call do not match the name and arity of a function
256 * signature in the static context.
257 */
258 XPST0017,
259
260 /**
261 * It is a type error if the result of the last step in a path expression
262 * contains both nodes and atomic values.
263 */
264 XPTY0018,
265
266 /**
267 * It is a type error if the result of a step (other than the last
268 * step) in a path expression contains an atomic value.
269 */
270 XPTY0019,
271
272 /**
273 * It is a type error if, in an axis step, the context item is not
274 * a node.
275 */
276 XPTY0020,
277
278 /**
279 * (Not currently used.)
280 */
281 XPDY0021,
282
283 /**
284 * It is a static error if the value of a namespace declaration
285 * attribute is not a URILiteral.
286 */
287 XQST0022,
288
289 /**
290 * (Not currently used.)
291 */
292 XQTY0023,
293
294 /**
295 * It is a type error if the content sequence in an element constructor
296 * contains an attribute node following a node that is not an attribute
297 * node.
298 */
299 XQTY0024,
300
301 /**
302 * It is a dynamic error if any attribute of a constructed element
303 * does not have a name that is distinct from the names of all other
304 * attributes of the constructed element.
305 */
306 XQDY0025,
307
308 /**
309 * It is a dynamic error if the result of the content expression
310 * of a computed processing instruction constructor contains the
311 * string "?&gt;".
312 */
313 XQDY0026,
314
315 /**
316 * In a validate expression, it is a dynamic error if the root element
317 * information item in the PSVI resulting from validation does not
318 * have the expected validity property: valid if validation mode
319 * is strict, or either valid or notKnown if validation mode is
320 * lax.
321 */
322 XQDY0027,
323
324 /**
325 * (Not currently used.)
326 */
327 XQTY0028,
328
329 /**
330 * (Not currently used.)
331 */
332 XQDY0029,
333
334 /**
335 * It is a type error if the argument of a validate expression does
336 * not evaluate to exactly one document or element node.
337 */
338 XQTY0030,
339
340 /**
341 * It is a static error if the version number specified in a version
342 * declaration is not supported by the implementation.
343 */
344 XQST0031,
345
346 /**
347 * A static error is raised if a Prolog contains more than one base
348 * URI declaration.
349 */
350 XQST0032,
351
352 /**
353 * It is a static error if a module contains multiple bindings for
354 * the same namespace prefix.
355 */
356 XQST0033,
357
358 /**
359 * It is a static error if multiple functions declared or imported
360 * by a module have the number of arguments and their expanded QNames
361 * are equal (as defined by the eq operator).
362 */
363 XQST0034,
364
365 /**
366 * It is a static error to import two schema components that both
367 * define the same name in the same symbol space and in the same
368 * scope.
369 */
370 XQST0035,
371
372 /**
373 * It is a static error to import a module if the importing module's
374 * in-scope schema types do not include definitions for the schema
375 * type names that appear in the declarations of variables and functions
376 * (whether in an argument type or return type) that are present
377 * in the imported module and are referenced in the importing module.
378 */
379 XQST0036,
380
381 /**
382 * (Not currently used.)
383 */
384 XQST0037,
385
386 /**
387 * It is a static error if a Prolog contains more than one default
388 * collation declaration, or the value specified by a default collation
389 * declaration is not present in statically known collations.
390 */
391 XQST0038,
392
393 /**
394 * It is a static error for a function declaration to have more
395 * than one parameter with the same name.
396 */
397 XQST0039,
398
399 /**
400 * It is a static error if the attributes specified by a direct
401 * element constructor do not have distinct expanded QNames.
402 */
403 XQST0040,
404
405 /**
406 * It is a dynamic error if the value of the name expression in
407 * a computed processing instruction constructor cannot be cast
408 * to the type xs:NCName.
409 */
410 XQDY0041,
411
412 /**
413 * (Not currently used.)
414 */
415 XQST0042,
416
417 /**
418 * (Not currently used.)
419 */
420 XQST0043,
421
422 /**
423 * It is a dynamic error if the node-name property of the node constructed
424 * by a computed attribute constructor is in the namespace http://www.w3.org/2000/xmlns/
425 * (corresponding to namespace prefix xmlns), or is in no namespace
426 * and has local name xmlns.
427 */
428 XQDY0044,
429
430 /**
431 * It is a static error if the function name in a function declaration
432 * is in one of the following namespaces: http://www.w3.org/XML/1998/namespace,
433 * http://www.w3.org/2001/XMLSchema, http://www.w3.org/2001/XMLSchema-instance,
434 * http://www.w3.org/2005/xpath-functions.
435 */
436 XQST0045,
437
438 /**
439 * An implementation MAY raise a static error if the value of a
440 * URILiteral is of nonzero length and is not in the lexical space
441 * of xs:anyURI.
442 */
443 XQST0046,
444
445 /**
446 * It is a static error if multiple module imports in the same Prolog
447 * specify the same target namespace.
448 */
449 XQST0047,
450
451 /**
452 * It is a static error if a function or variable declared in a
453 * library module is not in the target namespace of the library
454 * module.
455 */
456 XQST0048,
457
458 /**
459 * It is a static error if two or more variables declared or imported
460 * by a module have equal expanded QNames (as defined by the eq
461 * operator.)
462 */
463 XQST0049,
464
465 /**
466 * It is a dynamic error if the dynamic type of the operand of a
467 * treat expression does not match the sequence type specified by
468 * the treat expression. This error might also be raised by a path
469 * expression beginning with "/" or "//" if the context node is
470 * not in a tree that is rooted at a document node. This is because
471 * a leading "/" or "//" in a path expression is an abbreviation
472 * for an initial step that includes the clause treat as document-node().
473 */
474 XPDY0050,
475
476 /**
477 * It is a static error if a QName that is used as an AtomicType
478 * in a SequenceType is not defined in the in-scope schema types
479 * as an atomic type.
480 */
481 XPST0051,
482
483 /**
484 * (Not currently used.)
485 */
486 XQDY0052,
487
488 /**
489 * (Not currently used.)
490 */
491 XQST0053,
492
493 /**
494 * It is a static error if a variable depends on itself.
495 */
496 XQST0054,
497
498 /**
499 * It is a static error if a Prolog contains more than one copy-namespaces
500 * declaration.
501 */
502 XQST0055,
503
504 /**
505 * (Not currently used.)
506 */
507 XQST0056,
508
509 /**
510 * It is a static error if a schema import binds a namespace prefix
511 * but does not specify a target namespace other than a zero-length
512 * string.
513 */
514 XQST0057,
515
516 /**
517 * It is a static error if multiple schema imports specify the same
518 * target namespace.
519 */
520 XQST0058,
521
522 /**
523 * It is a static error if an implementation is unable to process
524 * a schema or module import by finding a schema or module with
525 * the specified target namespace.
526 */
527 XQST0059,
528
529 /**
530 * It is a static error if the name of a function in a function
531 * declaration is not in a namespace (expanded QName has a null
532 * namespace URI).
533 */
534 XQST0060,
535
536 /**
537 * It is a dynamic error if the operand of a validate expression
538 * is a document node whose children do not consist of exactly one
539 * element node and zero or more comment and processing instruction
540 * nodes, in any order.
541 */
542 XQDY0061,
543
544 /**
545 * (Not currently used.)
546 */
547 XQDY0062,
548
549 /**
550 * (Not currently used.)
551 */
552 XQST0063,
553
554 /**
555 * It is a dynamic error if the value of the name expression in
556 * a computed processing instruction constructor is equal to "XML"
557 * (in any combination of upper and lower case).
558 */
559 XQDY0064,
560
561 /**
562 * A static error is raised if a Prolog contains more than one ordering
563 * mode declaration.
564 */
565 XQST0065,
566
567 /**
568 * A static error is raised if a Prolog contains more than one default
569 * element/type namespace declaration, or more than one default
570 * function namespace declaration.
571 */
572 XQST0066,
573
574 /**
575 * A static error is raised if a Prolog contains more than one construction
576 * declaration.
577 */
578 XQST0067,
579
580 /**
581 * A static error is raised if a Prolog contains more than one boundary-space
582 * declaration.
583 */
584 XQST0068,
585
586 /**
587 * A static error is raised if a Prolog contains more than one empty
588 * order declaration.
589 */
590 XQST0069,
591
592 /**
593 * A static error is raised if a namespace URI is bound to the predefined
594 * prefix xmlns, or if a namespace URI other than http://www.w3.org/XML/1998/namespace
595 * is bound to the prefix xml, or if the prefix xml is bound to
596 * a namespace URI other than http://www.w3.org/XML/1998/namespace.
597 */
598 XQST0070,
599
600 /**
601 * A static error is raised if the namespace declaration attributes
602 * of a direct element constructor do not have distinct names.
603 */
604 XQST0071,
605
606 /**
607 * It is a dynamic error if the result of the content expression
608 * of a computed comment constructor contains two adjacent hyphens
609 * or ends with a hyphen.
610 */
611 XQDY0072,
612
613 /**
614 * It is a static error if the graph of module imports contains
615 * a cycle (that is, if there exists a sequence of modules M1 ...
616 * Mn such that each Mi imports Mi+1 and Mn imports M1), unless
617 * all the modules in the cycle share a common namespace.
618 */
619 XQST0073,
620
621 /**
622 * It is a dynamic error if the value of the name expression in
623 * a computed element or attribute constructor cannot be converted
624 * to an expanded QName (for example, because it contains a namespace
625 * prefix not found in statically known namespaces.)
626 */
627 XQDY0074,
628
629 /**
630 * An implementation that does not support the Validation Feature
631 * must raise a static error if it encounters a validate expression.
632 */
633 XQST0075,
634
635 /**
636 * It is a static error if a collation subclause in an order by
637 * clause of a FLWOR expression does not identify a collation that
638 * is present in statically known collations.
639 */
640 XQST0076,
641
642 /**
643 * (Not currently used.)
644 */
645 XQST0077,
646
647 /**
648 * (Not currently used.)
649 */
650 XQST0078,
651
652 /**
653 * It is a static error if an extension expression contains neither
654 * a pragma that is recognized by the implementation nor an expression
655 * enclosed in curly braces.
656 */
657 XQST0079,
658
659 /**
660 * It is a static error if the target type of a cast or castable
661 * expression is xs:NOTATION or xs:anyAtomicType.
662 */
663 XPST0080,
664
665 /**
666 * It is a static error if a QName used in a query contains a namespace
667 * prefix that cannot be expanded into a namespace URI by using
668 * the statically known namespaces.
669 */
670 XPST0081,
671
672 /**
673 * (Not currently used.)
674 */
675 XQST0082,
676
677 /**
678 * (Not currently used.)
679 */
680 XPST0083,
681
682 /**
683 * It is a dynamic error if the element validated by a validate
684 * statement does not have a top-level element declaration in the
685 * in-scope element declarations, if validation mode is strict.
686 */
687 XQDY0084,
688
689 /**
690 * It is a static error if the namespace URI in a namespace declaration
691 * attribute is a zero-length string, and the implementation does
692 * not support [XML Names 1.1].
693 */
694 XQST0085,
695
696 /**
697 * It is a type error if the typed value of a copied element or
698 * attribute node is namespace-sensitive when construction mode
699 * is preserve and copy-namespaces mode is no-preserve.
700 */
701 XQTY0086,
702
703 /**
704 * It is a static error if the encoding specified in a Version Declaration
705 * does not conform to the definition of EncName specified in [XML
706 * 1.0].
707 */
708 XQST0087,
709
710 /**
711 * It is a static error if the literal that specifies the target
712 * namespace in a module import or a module declaration is of zero
713 * length.
714 */
715 XQST0088,
716
717 /**
718 * It is a static error if a variable bound in a for clause of a
719 * FLWOR expression, and its associated positional variable, do
720 * not have distinct names (expanded QNames).
721 */
722 XQST0089,
723
724 /**
725 * It is a static error if a character reference does not identify
726 * a valid character in the version of XML that is in use.
727 */
728 XQST0090,
729
730 /**
731 * An implementation MAY raise a dynamic error if an xml:id error,
732 * as defined in [XML ID], is encountered during construction of
733 * an attribute named xml:id.
734 */
735 XQDY0091,
736
737 /**
738 * An implementation MAY raise a dynamic error if a constructed
739 * attribute named xml:space has a value other than preserve or
740 * default.
741 */
742 XQDY0092,
743
744 /**
745 * It is a static error to import a module M1 if there exists a
746 * sequence of modules M1 ... Mi ... M1 such that each module directly
747 * depends on the next module in the sequence (informally, if M1
748 * depends on itself through some chain of module dependencies.)
749 */
750 XQST0093,
751
752 /**
753 * Unidentified error.
754 */
755 FOER0000,
756
757 /**
758 * Division by zero.
759 */
760 FOAR0001,
761
762 /**
763 * Numeric operation overflow/underflow.
764 */
765 FOAR0002,
766
767 /**
768 * Input value too large for decimal.
769 */
770 FOCA0001,
771
772 /**
773 * Invalid lexical value.
774 */
775 FOCA0002,
776
777 /**
778 * Input value too large for integer.
779 */
780 FOCA0003,
781
782 /**
783 * NaN supplied as float/double value.
784 */
785 FOCA0005,
786
787 /**
788 * String to be cast to decimal has too many digits of precision.
789 */
790 FOCA0006,
791
792 /**
793 * Code point not valid.
794 */
795 FOCH0001,
796
797 /**
798 * Unsupported collation.
799 */
800 FOCH0002,
801
802 /**
803 * Unsupported normalization form.
804 */
805 FOCH0003,
806
807 /**
808 * Collation does not support collation units.
809 */
810 FOCH0004,
811
812 /**
813 * No context document.
814 */
815 FODC0001,
816
817 /**
818 * Error retrieving resource.
819 */
820 FODC0002,
821
822 /**
823 * Function stability not defined.
824 */
825 FODC0003,
826
827 /**
828 * Invalid argument to fn:collection.
829 */
830 FODC0004,
831
832 /**
833 * Invalid argument to fn:doc or fn:doc-available.
834 */
835 FODC0005,
836
837 /**
838 * Overflow/underflow in date/time operation.
839 */
840 FODT0001,
841
842 /**
843 * Overflow/underflow in duration operation.
844 */
845 FODT0002,
846
847 /**
848 * Invalid timezone value.
849 */
850 FODT0003,
851
852 /**
853 * No namespace found for prefix.
854 */
855 FONS0004,
856
857 /**
858 * Base-uri not defined in the static context.
859 */
860 FONS0005,
861
862 /**
863 * Invalid value for cast/constructor.
864 */
865 FORG0001,
866
867 /**
868 * Invalid argument to fn:resolve-uri().
869 */
870 FORG0002,
871
872 /**
873 * fn:zero-or-one called with a sequence containing more than one
874 * item.
875 */
876 FORG0003,
877
878 /**
879 * fn:one-or-more called with a sequence containing no items.
880 */
881 FORG0004,
882
883 /**
884 * fn:exactly-one called with a sequence containing zero or more
885 * than one item.
886 */
887 FORG0005,
888
889 /**
890 * Invalid argument type.
891 */
892 FORG0006,
893
894 /**
895 * Both arguments to fn:dateTime have a specified timezone.
896 */
897 FORG0008,
898
899 /**
900 * Error in resolving a relative URI against a base URI in fn:resolve-uri.
901 */
902 FORG0009,
903
904 /**
905 * Invalid regular expression. flags
906 */
907 FORX0001,
908
909 /**
910 * Invalid regular expression.
911 */
912 FORX0002,
913
914 /**
915 * Regular expression matches zero-length string.
916 */
917 FORX0003,
918
919 /**
920 * Invalid replacement string.
921 */
922 FORX0004,
923
924 /**
925 * Argument node does not have a typed value.
926 */
927 FOTY0012,
928
929 /**
930 * It is an error if an item in S6 in sequence normalization is
931 * an attribute node or a namespace node.
932 */
933 SENR0001,
934
935 /**
936 * It is an error if the serializer is unable to satisfy the rules
937 * for either a well-formed XML document entity or a well-formed
938 * XML external general parsed entity, or both, except for content
939 * modified by the character expansion phase of serialization.
940 */
941 SERE0003,
942
943 /**
944 * It is an error to specify the doctype-system parameter, or to
945 * specify the standalone parameter with a value other than omit,
946 * if the instance of the data model contains text nodes or multiple
947 * element nodes as children of the root node.
948 */
949 SEPM0004,
950
951 /**
952 * It is an error if the serialized result would contain an NCName
953 * Names that contains a character that is not permitted by the
954 * version of Namespaces in XML specified by the version parameter.
955 */
956 SERE0005,
957
958 /**
959 * It is an error if the serialized result would contain a character
960 * that is not permitted by the version of XML specified by the
961 * version parameter.
962 */
963 SERE0006,
964
965 /**
966 * It is an error if an output encoding other than UTF-8 or UTF-16
967 * is requested and the serializer does not support that encoding.
968 */
969 SESU0007,
970
971 /**
972 * It is an error if a character that cannot be represented in the
973 * encoding that the serializer is using for output appears in a
974 * context where character references are not allowed (for example
975 * if the character occurs in the name of an element).
976 */
977 SERE0008,
978
979 /**
980 * It is an error if the omit-xml-declaration parameter has the
981 * value yes, and the standalone attribute has a value other than
982 * omit; or the version parameter has a value other than 1.0 and
983 * the doctype-system parameter is specified.
984 */
985 SEPM0009,
986
987 /**
988 * It is an error if the output method is xml, the value of the
989 * undeclare-prefixes parameter is yes, and the value of the version
990 * parameter is 1.0.
991 */
992 SEPM0010,
993
994 /**
995 * It is an error if the value of the normalization-form parameter
996 * specifies a normalization form that is not supported by the serializer.
997 */
998 SESU0011,
999
1000 /**
1001 * It is an error if the value of the normalization-form parameter
1002 * is fully-normalized and any relevant construct of the result
1003 * begins with a combining character.
1004 */
1005 SERE0012,
1006
1007 /**
1008 * It is an error if the serializer does not support the version
1009 * of XML or HTML specified by the version parameter.
1010 */
1011 SESU0013,
1012
1013 /**
1014 * It is an error to use the HTML output method when characters
1015 * which are legal in XML but not in HTML, specifically the control
1016 * characters \#x7F-#x9F, appear in the instance of the data model.
1017 */
1018 SERE0014,
1019
1020 /**
1021 * It is an error to use the HTML output method when &gt; appears within
1022 * a processing instruction in the data model instance being serialized.
1023 */
1024 SERE0015,
1025
1026 /**
1027 * It is a an error if a parameter value is invalid for the defined
1028 * domain.
1029 */
1030 SEPM0016,
1031
1032 /**
1033 * A static error is signaled if an XSLT-defined element is used
1034 * in a context where it is not permitted, if a required attribute
1035 * is omitted, or if the content of the element does not correspond
1036 * to the content that is allowed for the element.
1037 */
1038 XTSE0010,
1039
1040 /**
1041 * It is a static error if an attribute (other than an attribute
1042 * written using curly brackets in a position where an attribute
1043 * value template is permitted) contains a value that is not one
1044 * of the permitted values for that attribute.
1045 */
1046 XTSE0020,
1047
1048 /**
1049 * It is a static error to use a reserved namespace in the name
1050 * of a named template, a mode, an attribute set, a key, a decimal-format,
1051 * a variable or parameter, a stylesheet function, a named output
1052 * definition, or a character map.
1053 */
1054 XTSE0080,
1055
1056 /**
1057 * It is a static error for an element from the XSLT namespace to
1058 * have an attribute whose namespace is either null (that is, an
1059 * attribute with an unprefixed name) or the XSLT namespace, other
1060 * than attributes defined for the element in this document.
1061 */
1062 XTSE0090,
1063
1064 /**
1065 * The value of the version attribute must be a number: specifically,
1066 * it must be a a valid instance of the type xs:decimal as defined
1067 * in [XML Schema Part 2].
1068 */
1069 XTSE0110,
1070
1071 /**
1072 * An xsl:stylesheet element must not have any text node children.
1073 */
1074 XTSE0120,
1075
1076 /**
1077 * It is a static error if the value of an [xsl:]default-collation
1078 * attribute, after resolving against the base URI, contains no
1079 * URI that the implementation recognizes as a collation URI.
1080 */
1081 XTSE0125,
1082
1083 /**