|
1 /**************************************************************************** |
|
2 ** |
|
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
4 ** All rights reserved. |
|
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
|
6 ** |
|
7 ** This file is part of the QtXmlPatterns module of the Qt Toolkit. |
|
8 ** |
|
9 ** $QT_BEGIN_LICENSE:LGPL$ |
|
10 ** No Commercial Usage |
|
11 ** This file contains pre-release code and may not be distributed. |
|
12 ** You may use this file in accordance with the terms and conditions |
|
13 ** contained in the Technology Preview License Agreement accompanying |
|
14 ** this package. |
|
15 ** |
|
16 ** GNU Lesser General Public License Usage |
|
17 ** Alternatively, this file may be used under the terms of the GNU Lesser |
|
18 ** General Public License version 2.1 as published by the Free Software |
|
19 ** Foundation and appearing in the file LICENSE.LGPL included in the |
|
20 ** packaging of this file. Please review the following information to |
|
21 ** ensure the GNU Lesser General Public License version 2.1 requirements |
|
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
|
23 ** |
|
24 ** In addition, as a special exception, Nokia gives you certain additional |
|
25 ** rights. These rights are described in the Nokia Qt LGPL Exception |
|
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
|
27 ** |
|
28 ** If you have questions regarding the use of this file, please contact |
|
29 ** Nokia at qt-info@nokia.com. |
|
30 ** |
|
31 ** |
|
32 ** |
|
33 ** |
|
34 ** |
|
35 ** |
|
36 ** |
|
37 ** |
|
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 |
|
62 QT_BEGIN_HEADER |
|
63 |
|
64 QT_BEGIN_NAMESPACE |
|
65 |
|
66 class QAbstractMessageHandler; |
|
67 class QSourceLocation; |
|
68 class QString; |
|
69 |
|
70 namespace 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 <frans.englich@nokia.com> |
|
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® (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 * XML Schema error code. |
|
156 */ |
|
157 XSDError, |
|
158 |
|
159 /** |
|
160 * It is a static error if analysis of an expression relies on some |
|
161 * component of the static context that has not been assigned a |
|
162 * value. |
|
163 */ |
|
164 XPST0001, |
|
165 |
|
166 /** |
|
167 * It is a dynamic error if evaluation of an expression relies on |
|
168 * some part of the dynamic context that has not been assigned a |
|
169 * value. |
|
170 */ |
|
171 XPDY0002, |
|
172 |
|
173 /** |
|
174 * It is a static error if an expression is not a valid instance |
|
175 * of the grammar defined in A.1 EBNF. |
|
176 */ |
|
177 XPST0003, |
|
178 |
|
179 /** |
|
180 * It is a type error if, during the static analysis phase, an expression |
|
181 * is found to have a static type that is not appropriate for the |
|
182 * context in which the expression occurs, or during the dynamic |
|
183 * evaluation phase, the dynamic type of a value does not match |
|
184 * a required type as specified by the matching rules in 2.5.4 SequenceType |
|
185 * Matching. |
|
186 */ |
|
187 XPTY0004, |
|
188 |
|
189 /** |
|
190 * During the analysis phase, it is a static error if the static |
|
191 * type assigned to an expression other than the expression () or |
|
192 * data(()) is empty-sequence(). |
|
193 */ |
|
194 XPST0005, |
|
195 |
|
196 /** |
|
197 * (Not currently used.) |
|
198 */ |
|
199 XPTY0006, |
|
200 |
|
201 /** |
|
202 * (Not currently used.) |
|
203 */ |
|
204 XPTY0007, |
|
205 |
|
206 /** |
|
207 * It is a static error if an expression refers to an element name, |
|
208 * attribute name, schema type name, namespace prefix, or variable |
|
209 * name that is not defined in the static context, except for an |
|
210 * ElementName in an ElementTest or an AttributeName in an AttributeTest. |
|
211 */ |
|
212 XPST0008, |
|
213 |
|
214 /** |
|
215 * An implementation that does not support the Schema Import Feature |
|
216 * must raise a static error if a Prolog contains a schema import. |
|
217 */ |
|
218 XQST0009, |
|
219 |
|
220 /** |
|
221 * An implementation must raise a static error if it encounters |
|
222 * a reference to an axis that it does not support. |
|
223 */ |
|
224 XPST0010, |
|
225 |
|
226 /** |
|
227 * It is a static error if the set of definitions contained in all |
|
228 * schemas imported by a Prolog do not satisfy the conditions for |
|
229 * schema validity specified in Sections 3 and 5 of [XML Schema] |
|
230 * Part 1--i.e., each definition must be valid, complete, and unique. |
|
231 */ |
|
232 XQST0012, |
|
233 |
|
234 /** |
|
235 * It is a static error if an implementation recognizes a pragma |
|
236 * but determines that its content is invalid. |
|
237 */ |
|
238 XQST0013, |
|
239 |
|
240 /** |
|
241 * (Not currently used.) |
|
242 */ |
|
243 XQST0014, |
|
244 |
|
245 /** |
|
246 * (Not currently used.) |
|
247 */ |
|
248 XQST0015, |
|
249 |
|
250 /** |
|
251 * An implementation that does not support the Module Feature raises |
|
252 * a static error if it encounters a module declaration or a module |
|
253 * import. |
|
254 */ |
|
255 XQST0016, |
|
256 |
|
257 /** |
|
258 * It is a static error if the expanded QName and number of arguments |
|
259 * in a function call do not match the name and arity of a function |
|
260 * signature in the static context. |
|
261 */ |
|
262 XPST0017, |
|
263 |
|
264 /** |
|
265 * It is a type error if the result of the last step in a path expression |
|
266 * contains both nodes and atomic values. |
|
267 */ |
|
268 XPTY0018, |
|
269 |
|
270 /** |
|
271 * It is a type error if the result of a step (other than the last |
|
272 * step) in a path expression contains an atomic value. |
|
273 */ |
|
274 XPTY0019, |
|
275 |
|
276 /** |
|
277 * It is a type error if, in an axis step, the context item is not |
|
278 * a node. |
|
279 */ |
|
280 XPTY0020, |
|
281 |
|
282 /** |
|
283 * (Not currently used.) |
|
284 */ |
|
285 XPDY0021, |
|
286 |
|
287 /** |
|
288 * It is a static error if the value of a namespace declaration |
|
289 * attribute is not a URILiteral. |
|
290 */ |
|
291 XQST0022, |
|
292 |
|
293 /** |
|
294 * (Not currently used.) |
|
295 */ |
|
296 XQTY0023, |
|
297 |
|
298 /** |
|
299 * It is a type error if the content sequence in an element constructor |
|
300 * contains an attribute node following a node that is not an attribute |
|
301 * node. |
|
302 */ |
|
303 XQTY0024, |
|
304 |
|
305 /** |
|
306 * It is a dynamic error if any attribute of a constructed element |
|
307 * does not have a name that is distinct from the names of all other |
|
308 * attributes of the constructed element. |
|
309 */ |
|
310 XQDY0025, |
|
311 |
|
312 /** |
|
313 * It is a dynamic error if the result of the content expression |
|
314 * of a computed processing instruction constructor contains the |
|
315 * string "?>". |
|
316 */ |
|
317 XQDY0026, |
|
318 |
|
319 /** |
|
320 * In a validate expression, it is a dynamic error if the root element |
|
321 * information item in the PSVI resulting from validation does not |
|
322 * have the expected validity property: valid if validation mode |
|
323 * is strict, or either valid or notKnown if validation mode is |
|
324 * lax. |
|
325 */ |
|
326 XQDY0027, |
|
327 |
|
328 /** |
|
329 * (Not currently used.) |
|
330 */ |
|
331 XQTY0028, |
|
332 |
|
333 /** |
|
334 * (Not currently used.) |
|
335 */ |
|
336 XQDY0029, |
|
337 |
|
338 /** |
|
339 * It is a type error if the argument of a validate expression does |
|
340 * not evaluate to exactly one document or element node. |
|
341 */ |
|
342 XQTY0030, |
|
343 |
|
344 /** |
|
345 * It is a static error if the version number specified in a version |
|
346 * declaration is not supported by the implementation. |
|
347 */ |
|
348 XQST0031, |
|
349 |
|
350 /** |
|
351 * A static error is raised if a Prolog contains more than one base |
|
352 * URI declaration. |
|
353 */ |
|
354 XQST0032, |
|
355 |
|
356 /** |
|
357 * It is a static error if a module contains multiple bindings for |
|
358 * the same namespace prefix. |
|
359 */ |
|
360 XQST0033, |
|
361 |
|
362 /** |
|
363 * It is a static error if multiple functions declared or imported |
|
364 * by a module have the number of arguments and their expanded QNames |
|
365 * are equal (as defined by the eq operator). |
|
366 */ |
|
367 XQST0034, |
|
368 |
|
369 /** |
|
370 * It is a static error to import two schema components that both |
|
371 * define the same name in the same symbol space and in the same |
|
372 * scope. |
|
373 */ |
|
374 XQST0035, |
|
375 |
|
376 /** |
|
377 * It is a static error to import a module if the importing module's |
|
378 * in-scope schema types do not include definitions for the schema |
|
379 * type names that appear in the declarations of variables and functions |
|
380 * (whether in an argument type or return type) that are present |
|
381 * in the imported module and are referenced in the importing module. |
|
382 */ |
|
383 XQST0036, |
|
384 |
|
385 /** |
|
386 * (Not currently used.) |
|
387 */ |
|
388 XQST0037, |
|
389 |
|
390 /** |
|
391 * It is a static error if a Prolog contains more than one default |
|
392 * collation declaration, or the value specified by a default collation |
|
393 * declaration is not present in statically known collations. |
|
394 */ |
|
395 XQST0038, |
|
396 |
|
397 /** |
|
398 * It is a static error for a function declaration to have more |
|
399 * than one parameter with the same name. |
|
400 */ |
|
401 XQST0039, |
|
402 |
|
403 /** |
|
404 * It is a static error if the attributes specified by a direct |
|
405 * element constructor do not have distinct expanded QNames. |
|
406 */ |
|
407 XQST0040, |
|
408 |
|
409 /** |
|
410 * It is a dynamic error if the value of the name expression in |
|
411 * a computed processing instruction constructor cannot be cast |
|
412 * to the type xs:NCName. |
|
413 */ |
|
414 XQDY0041, |
|
415 |
|
416 /** |
|
417 * (Not currently used.) |
|
418 */ |
|
419 XQST0042, |
|
420 |
|
421 /** |
|
422 * (Not currently used.) |
|
423 */ |
|
424 XQST0043, |
|
425 |
|
426 /** |
|
427 * It is a dynamic error if the node-name property of the node constructed |
|
428 * by a computed attribute constructor is in the namespace http://www.w3.org/2000/xmlns/ |
|
429 * (corresponding to namespace prefix xmlns), or is in no namespace |
|
430 * and has local name xmlns. |
|
431 */ |
|
432 XQDY0044, |
|
433 |
|
434 /** |
|
435 * It is a static error if the function name in a function declaration |
|
436 * is in one of the following namespaces: http://www.w3.org/XML/1998/namespace, |
|
437 * http://www.w3.org/2001/XMLSchema, http://www.w3.org/2001/XMLSchema-instance, |
|
438 * http://www.w3.org/2005/xpath-functions. |
|
439 */ |
|
440 XQST0045, |
|
441 |
|
442 /** |
|
443 * An implementation MAY raise a static error if the value of a |
|
444 * URILiteral is of nonzero length and is not in the lexical space |
|
445 * of xs:anyURI. |
|
446 */ |
|
447 XQST0046, |
|
448 |
|
449 /** |
|
450 * It is a static error if multiple module imports in the same Prolog |
|
451 * specify the same target namespace. |
|
452 */ |
|
453 XQST0047, |
|
454 |
|
455 /** |
|
456 * It is a static error if a function or variable declared in a |
|
457 * library module is not in the target namespace of the library |
|
458 * module. |
|
459 */ |
|
460 XQST0048, |
|
461 |
|
462 /** |
|
463 * It is a static error if two or more variables declared or imported |
|
464 * by a module have equal expanded QNames (as defined by the eq |
|
465 * operator.) |
|
466 */ |
|
467 XQST0049, |
|
468 |
|
469 /** |
|
470 * It is a dynamic error if the dynamic type of the operand of a |
|
471 * treat expression does not match the sequence type specified by |
|
472 * the treat expression. This error might also be raised by a path |
|
473 * expression beginning with "/" or "//" if the context node is |
|
474 * not in a tree that is rooted at a document node. This is because |
|
475 * a leading "/" or "//" in a path expression is an abbreviation |
|
476 * for an initial step that includes the clause treat as document-node(). |
|
477 */ |
|
478 XPDY0050, |
|
479 |
|
480 /** |
|
481 * It is a static error if a QName that is used as an AtomicType |
|
482 * in a SequenceType is not defined in the in-scope schema types |
|
483 * as an atomic type. |
|
484 */ |
|
485 XPST0051, |
|
486 |
|
487 /** |
|
488 * (Not currently used.) |
|
489 */ |
|
490 XQDY0052, |
|
491 |
|
492 /** |
|
493 * (Not currently used.) |
|
494 */ |
|
495 XQST0053, |
|
496 |
|
497 /** |
|
498 * It is a static error if a variable depends on itself. |
|
499 */ |
|
500 XQST0054, |
|
501 |
|
502 /** |
|
503 * It is a static error if a Prolog contains more than one copy-namespaces |
|
504 * declaration. |
|
505 */ |
|
506 XQST0055, |
|
507 |
|
508 /** |
|
509 * (Not currently used.) |
|
510 */ |
|
511 XQST0056, |
|
512 |
|
513 /** |
|
514 * It is a static error if a schema import binds a namespace prefix |
|
515 * but does not specify a target namespace other than a zero-length |
|
516 * string. |
|
517 */ |
|
518 XQST0057, |
|
519 |
|
520 /** |
|
521 * It is a static error if multiple schema imports specify the same |
|
522 * target namespace. |
|
523 */ |
|
524 XQST0058, |
|
525 |
|
526 /** |
|
527 * It is a static error if an implementation is unable to process |
|
528 * a schema or module import by finding a schema or module with |
|
529 * the specified target namespace. |
|
530 */ |
|
531 XQST0059, |
|
532 |
|
533 /** |
|
534 * It is a static error if the name of a function in a function |
|
535 * declaration is not in a namespace (expanded QName has a null |
|
536 * namespace URI). |
|
537 */ |
|
538 XQST0060, |
|
539 |
|
540 /** |
|
541 * It is a dynamic error if the operand of a validate expression |
|
542 * is a document node whose children do not consist of exactly one |
|
543 * element node and zero or more comment and processing instruction |
|
544 * nodes, in any order. |
|
545 */ |
|
546 XQDY0061, |
|
547 |
|
548 /** |
|
549 * (Not currently used.) |
|
550 */ |
|
551 XQDY0062, |
|
552 |
|
553 /** |
|
554 * (Not currently used.) |
|
555 */ |
|
556 XQST0063, |
|
557 |
|
558 /** |
|
559 * It is a dynamic error if the value of the name expression in |
|
560 * a computed processing instruction constructor is equal to "XML" |
|
561 * (in any combination of upper and lower case). |
|
562 */ |
|
563 XQDY0064, |
|
564 |
|
565 /** |
|
566 * A static error is raised if a Prolog contains more than one ordering |
|
567 * mode declaration. |
|
568 */ |
|
569 XQST0065, |
|
570 |
|
571 /** |
|
572 * A static error is raised if a Prolog contains more than one default |
|
573 * element/type namespace declaration, or more than one default |
|
574 * function namespace declaration. |
|
575 */ |
|
576 XQST0066, |
|
577 |
|
578 /** |
|
579 * A static error is raised if a Prolog contains more than one construction |
|
580 * declaration. |
|
581 */ |
|
582 XQST0067, |
|
583 |
|
584 /** |
|
585 * A static error is raised if a Prolog contains more than one boundary-space |
|
586 * declaration. |
|
587 */ |
|
588 XQST0068, |
|
589 |
|
590 /** |
|
591 * A static error is raised if a Prolog contains more than one empty |
|
592 * order declaration. |
|
593 */ |
|
594 XQST0069, |
|
595 |
|
596 /** |
|
597 * A static error is raised if a namespace URI is bound to the predefined |
|
598 * prefix xmlns, or if a namespace URI other than http://www.w3.org/XML/1998/namespace |
|
599 * is bound to the prefix xml, or if the prefix xml is bound to |
|
600 * a namespace URI other than http://www.w3.org/XML/1998/namespace. |
|
601 */ |
|
602 XQST0070, |
|
603 |
|
604 /** |
|
605 * A static error is raised if the namespace declaration attributes |
|
606 * of a direct element constructor do not have distinct names. |
|
607 */ |
|
608 XQST0071, |
|
609 |
|
610 /** |
|
611 * It is a dynamic error if the result of the content expression |
|
612 * of a computed comment constructor contains two adjacent hyphens |
|
613 * or ends with a hyphen. |
|
614 */ |
|
615 XQDY0072, |
|
616 |
|
617 /** |
|
618 * It is a static error if the graph of module imports contains |
|
619 * a cycle (that is, if there exists a sequence of modules M1 ... |
|
620 * Mn such that each Mi imports Mi+1 and Mn imports M1), unless |
|
621 * all the modules in the cycle share a common namespace. |
|
622 */ |
|
623 XQST0073, |
|
624 |
|
625 /** |
|
626 * It is a dynamic error if the value of the name expression in |
|
627 * a computed element or attribute constructor cannot be converted |
|
628 * to an expanded QName (for example, because it contains a namespace |
|
629 * prefix not found in statically known namespaces.) |
|
630 */ |
|
631 XQDY0074, |
|
632 |
|
633 /** |
|
634 * An implementation that does not support the Validation Feature |
|
635 * must raise a static error if it encounters a validate expression. |
|
636 */ |
|
637 XQST0075, |
|
638 |
|
639 /** |
|
640 * It is a static error if a collation subclause in an order by |
|
641 * clause of a FLWOR expression does not identify a collation that |
|
642 * is present in statically known collations. |
|
643 */ |
|
644 XQST0076, |
|
645 |
|
646 /** |
|
647 * (Not currently used.) |
|
648 */ |
|
649 XQST0077, |
|
650 |
|
651 /** |
|
652 * (Not currently used.) |
|
653 */ |
|
654 XQST0078, |
|
655 |
|
656 /** |
|
657 * It is a static error if an extension expression contains neither |
|
658 * a pragma that is recognized by the implementation nor an expression |
|
659 * enclosed in curly braces. |
|
660 */ |
|
661 XQST0079, |
|
662 |
|
663 /** |
|
664 * It is a static error if the target type of a cast or castable |
|
665 * expression is xs:NOTATION or xs:anyAtomicType. |
|
666 */ |
|
667 XPST0080, |
|
668 |
|
669 /** |
|
670 * It is a static error if a QName used in a query contains a namespace |
|
671 * prefix that cannot be expanded into a namespace URI by using |
|
672 * the statically known namespaces. |
|
673 */ |
|
674 XPST0081, |
|
675 |
|
676 /** |
|
677 * (Not currently used.) |
|
678 */ |
|
679 XQST0082, |
|
680 |
|
681 /** |
|
682 * (Not currently used.) |
|
683 */ |
|
684 XPST0083, |
|
685 |
|
686 /** |
|
687 * It is a dynamic error if the element validated by a validate |
|
688 * statement does not have a top-level element declaration in the |
|
689 * in-scope element declarations, if validation mode is strict. |
|
690 */ |
|
691 XQDY0084, |
|
692 |
|
693 /** |
|
694 * It is a static error if the namespace URI in a namespace declaration |
|
695 * attribute is a zero-length string, and the implementation does |
|
696 * not support [XML Names 1.1]. |
|
697 */ |
|
698 XQST0085, |
|
699 |
|
700 /** |
|
701 * It is a type error if the typed value of a copied element or |
|
702 * attribute node is namespace-sensitive when construction mode |
|
703 * is preserve and copy-namespaces mode is no-preserve. |
|
704 */ |
|
705 XQTY0086, |
|
706 |
|
707 /** |
|
708 * It is a static error if the encoding specified in a Version Declaration |
|
709 * does not conform to the definition of EncName specified in [XML |
|
710 * 1.0]. |
|
711 */ |
|
712 XQST0087, |
|
713 |
|
714 /** |
|
715 * It is a static error if the literal that specifies the target |
|
716 * namespace in a module import or a module declaration is of zero |
|
717 * length. |
|
718 */ |
|
719 XQST0088, |
|
720 |
|
721 /** |
|
722 * It is a static error if a variable bound in a for clause of a |
|
723 * FLWOR expression, and its associated positional variable, do |
|
724 * not have distinct names (expanded QNames). |
|
725 */ |
|
726 XQST0089, |
|
727 |
|
728 /** |
|
729 * It is a static error if a character reference does not identify |
|
730 * a valid character in the version of XML that is in use. |
|
731 */ |
|
732 XQST0090, |
|
733 |
|
734 /** |
|
735 * An implementation MAY raise a dynamic error if an xml:id error, |
|
736 * as defined in [XML ID], is encountered during construction of |
|
737 * an attribute named xml:id. |
|
738 */ |
|
739 XQDY0091, |
|
740 |
|
741 /** |
|
742 * An implementation MAY raise a dynamic error if a constructed |
|
743 * attribute named xml:space has a value other than preserve or |
|
744 * default. |
|
745 */ |
|
746 XQDY0092, |
|
747 |
|
748 /** |
|
749 * It is a static error to import a module M1 if there exists a |
|
750 * sequence of modules M1 ... Mi ... M1 such that each module directly |
|
751 * depends on the next module in the sequence (informally, if M1 |
|
752 * depends on itself through some chain of module dependencies.) |
|
753 */ |
|
754 XQST0093, |
|
755 |
|
756 /** |
|
757 * Unidentified error. |
|
758 */ |
|
759 FOER0000, |
|
760 |
|
761 /** |
|
762 * Division by zero. |
|
763 */ |
|
764 FOAR0001, |
|
765 |
|
766 /** |
|
767 * Numeric operation overflow/underflow. |
|
768 */ |
|
769 FOAR0002, |
|
770 |
|
771 /** |
|
772 * Input value too large for decimal. |
|
773 */ |
|
774 FOCA0001, |
|
775 |
|
776 /** |
|
777 * Invalid lexical value. |
|
778 */ |
|
779 FOCA0002, |
|
780 |
|
781 /** |
|
782 * Input value too large for integer. |
|
783 */ |
|
784 FOCA0003, |
|
785 |
|
786 /** |
|
787 * NaN supplied as float/double value. |
|
788 */ |
|
789 FOCA0005, |
|
790 |
|
791 /** |
|
792 * String to be cast to decimal has too many digits of precision. |
|
793 */ |
|
794 FOCA0006, |
|
795 |
|
796 /** |
|
797 * Code point not valid. |
|
798 */ |
|
799 FOCH0001, |
|
800 |
|
801 /** |
|
802 * Unsupported collation. |
|
803 */ |
|
804 FOCH0002, |
|
805 |
|
806 /** |
|
807 * Unsupported normalization form. |
|
808 */ |
|
809 FOCH0003, |
|
810 |
|
811 /** |
|
812 * Collation does not support collation units. |
|
813 */ |
|
814 FOCH0004, |
|
815 |
|
816 /** |
|
817 * No context document. |
|
818 */ |
|
819 FODC0001, |
|
820 |
|
821 /** |
|
822 * Error retrieving resource. |
|
823 */ |
|
824 FODC0002, |
|
825 |
|
826 /** |
|
827 * Function stability not defined. |
|
828 */ |
|
829 FODC0003, |
|
830 |
|
831 /** |
|
832 * Invalid argument to fn:collection. |
|
833 */ |
|
834 FODC0004, |
|
835 |
|
836 /** |
|
837 * Invalid argument to fn:doc or fn:doc-available. |
|
838 */ |
|
839 FODC0005, |
|
840 |
|
841 /** |
|
842 * Overflow/underflow in date/time operation. |
|
843 */ |
|
844 FODT0001, |
|
845 |
|
846 /** |
|
847 * Overflow/underflow in duration operation. |
|
848 */ |
|
849 FODT0002, |
|
850 |
|
851 /** |
|
852 * Invalid timezone value. |
|
853 */ |
|
854 FODT0003, |
|
855 |
|
856 /** |
|
857 * No namespace found for prefix. |
|
858 */ |
|
859 FONS0004, |
|
860 |
|
861 /** |
|
862 * Base-uri not defined in the static context. |
|
863 */ |
|
864 FONS0005, |
|
865 |
|
866 /** |
|
867 * Invalid value for cast/constructor. |
|
868 */ |
|
869 FORG0001, |
|
870 |
|
871 /** |
|
872 * Invalid argument to fn:resolve-uri(). |
|
873 */ |
|
874 FORG0002, |
|
875 |
|
876 /** |
|
877 * fn:zero-or-one called with a sequence containing more than one |
|
878 * item. |
|
879 */ |
|
880 FORG0003, |
|
881 |
|
882 /** |
|
883 * fn:one-or-more called with a sequence containing no items. |
|
884 */ |
|
885 FORG0004, |
|
886 |
|
887 /** |
|
888 * fn:exactly-one called with a sequence containing zero or more |
|
889 * than one item. |
|
890 */ |
|
891 FORG0005, |
|
892 |
|
893 /** |
|
894 * Invalid argument type. |
|
895 */ |
|
896 FORG0006, |
|
897 |
|
898 /** |
|
899 * Both arguments to fn:dateTime have a specified timezone. |
|
900 */ |
|
901 FORG0008, |
|
902 |
|
903 /** |
|
904 * Error in resolving a relative URI against a base URI in fn:resolve-uri. |
|
905 */ |
|
906 FORG0009, |
|
907 |
|
908 /** |
|
909 * Invalid regular expression. flags |
|
910 */ |
|
911 FORX0001, |
|
912 |
|
913 /** |
|
914 * Invalid regular expression. |
|
915 */ |
|
916 FORX0002, |
|
917 |
|
918 /** |
|
919 * Regular expression matches zero-length string. |
|
920 */ |
|
921 FORX0003, |
|
922 |
|
923 /** |
|
924 * Invalid replacement string. |
|
925 */ |
|
926 FORX0004, |
|
927 |
|
928 /** |
|
929 * Argument node does not have a typed value. |
|
930 */ |
|
931 FOTY0012, |
|
932 |
|
933 /** |
|
934 * It is an error if an item in S6 in sequence normalization is |
|
935 * an attribute node or a namespace node. |
|
936 */ |
|
937 SENR0001, |
|
938 |
|
939 /** |
|
940 * It is an error if the serializer is unable to satisfy the rules |
|
941 * for either a well-formed XML document entity or a well-formed |
|
942 * XML external general parsed entity, or both, except for content |
|
943 * modified by the character expansion phase of serialization. |
|
944 */ |
|
945 SERE0003, |
|
946 |
|
947 /** |
|
948 * It is an error to specify the doctype-system parameter, or to |
|
949 * specify the standalone parameter with a value other than omit, |
|
950 * if the instance of the data model contains text nodes or multiple |
|
951 * element nodes as children of the root node. |
|
952 */ |
|
953 SEPM0004, |
|
954 |
|
955 /** |
|
956 * It is an error if the serialized result would contain an NCName |
|
957 * Names that contains a character that is not permitted by the |
|
958 * version of Namespaces in XML specified by the version parameter. |
|
959 */ |
|
960 SERE0005, |
|
961 |
|
962 /** |
|
963 * It is an error if the serialized result would contain a character |
|
964 * that is not permitted by the version of XML specified by the |
|
965 * version parameter. |
|
966 */ |
|
967 SERE0006, |
|
968 |
|
969 /** |
|
970 * It is an error if an output encoding other than UTF-8 or UTF-16 |
|
971 * is requested and the serializer does not support that encoding. |
|
972 */ |
|
973 SESU0007, |
|
974 |
|
975 /** |
|
976 * It is an error if a character that cannot be represented in the |
|
977 * encoding that the serializer is using for output appears in a |
|
978 * context where character references are not allowed (for example |
|
979 * if the character occurs in the name of an element). |
|
980 */ |
|
981 SERE0008, |
|
982 |
|
983 /** |
|
984 * It is an error if the omit-xml-declaration parameter has the |
|
985 * value yes, and the standalone attribute has a value other than |
|
986 * omit; or the version parameter has a value other than 1.0 and |
|
987 * the doctype-system parameter is specified. |
|
988 */ |
|
989 SEPM0009, |
|
990 |
|
991 /** |
|
992 * It is an error if the output method is xml, the value of the |
|
993 * undeclare-prefixes parameter is yes, and the value of the version |
|
994 * parameter is 1.0. |
|
995 */ |
|
996 SEPM0010, |
|
997 |
|
998 /** |
|
999 * It is an error if the value of the normalization-form parameter |
|
1000 * specifies a normalization form that is not supported by the serializer. |
|
1001 */ |
|
1002 SESU0011, |
|
1003 |
|
1004 /** |
|
1005 * It is an error if the value of the normalization-form parameter |
|
1006 * is fully-normalized and any relevant construct of the result |
|
1007 * begins with a combining character. |
|
1008 */ |
|
1009 SERE0012, |
|
1010 |
|
1011 /** |
|
1012 * It is an error if the serializer does not support the version |
|
1013 * of XML or HTML specified by the version parameter. |
|
1014 */ |
|
1015 SESU0013, |
|
1016 |
|
1017 /** |
|
1018 * It is an error to use the HTML output method when characters |
|
1019 * which are legal in XML but not in HTML, specifically the control |
|
1020 * characters \#x7F-#x9F, appear in the instance of the data model. |
|
1021 */ |
|
1022 SERE0014, |
|
1023 |
|
1024 /** |
|
1025 * It is an error to use the HTML output method when > appears within |
|
1026 * a processing instruction in the data model instance being serialized. |
|
1027 */ |
|
1028 SERE0015, |
|
1029 |
|
1030 /** |
|
1031 * It is a an error if a parameter value is invalid for the defined |
|
1032 * domain. |
|
1033 */ |
|
1034 SEPM0016, |
|
1035 |
|
1036 /** |
|
1037 * A static error is signaled if an XSLT-defined element is used |
|
1038 * in a context where it is not permitted, if a required attribute |
|
1039 * is omitted, or if the content of the element does not correspond |
|
1040 * to the content that is allowed for the element. |
|
1041 */ |
|
1042 XTSE0010, |
|
1043 |
|
1044 /** |
|
1045 * It is a static error if an attribute (other than an attribute |
|
1046 * written using curly brackets in a position where an attribute |
|
1047 * value template is permitted) contains a value that is not one |
|
1048 * of the permitted values for that attribute. |
|
1049 */ |
|
1050 XTSE0020, |
|
1051 |
|
1052 /** |
|
1053 * It is a static error to use a reserved namespace in the name |
|
1054 * of a named template, a mode, an attribute set, a key, a decimal-format, |
|
1055 * a variable or parameter, a stylesheet function, a named output |
|
1056 * definition, or a character map. |
|
1057 */ |
|
1058 XTSE0080, |
|
1059 |
|
1060 /** |
|
1061 * It is a static error for an element from the XSLT namespace to |
|
1062 * have an attribute whose namespace is either null (that is, an |
|
1063 * attribute with an unprefixed name) or the XSLT namespace, other |
|
1064 * than attributes defined for the element in this document. |
|
1065 */ |
|
1066 XTSE0090, |
|
1067 |
|
1068 /** |
|
1069 * The value of the version attribute must be a number: specifically, |
|
1070 * it must be a a valid instance of the type xs:decimal as defined |
|
1071 * in [XML Schema Part 2]. |
|
1072 */ |
|
1073 XTSE0110, |
|
1074 |
|
1075 /** |
|
1076 * An xsl:stylesheet element must not have any text node children. |
|
1077 */ |
|
1078 XTSE0120, |
|
1079 |
|
1080 /** |
|
1081 * It is a static error if the value of an [xsl:]default-collation |
|
1082 * attribute, after resolving against the base URI, contains no |
|
1083 * URI that the implementation recognizes as a collation URI. |
|
1084 */ |
|
1085 XTSE0125, |
|
1086 |
|
1087 /** |
|
1088 * It is a static error if the xsl:stylesheet element has a child |
|
1089 * element whose name has a null namespace URI. |
|
1090 */ |
|
1091 XTSE0130, |
|
1092 |
|
1093 /** |
|
1094 * A literal result element that is used as the outermost element |
|
1095 * of a simplified stylesheet module must have an xsl:version attribute. |
|
1096 */ |
|
1097 XTSE0150, |
|
1098 |
|
1099 /** |
|
1100 * It is a static error if the processor is not able to retrieve |
|
1101 * the resource identified by the URI reference [ in the href attribute |
|
1102 * of xsl:include or xsl:import] , or if the resource that is retrieved |
|
1103 * does not contain a stylesheet module conforming to this specification. |
|
1104 */ |
|
1105 XTSE0165, |
|
1106 |
|
1107 /** |
|
1108 * An xsl:include element must be a top-level element. |
|
1109 */ |
|
1110 XTSE0170, |
|
1111 |
|
1112 /** |
|
1113 * It is a static error if a stylesheet module directly or indirectly |
|
1114 * includes itself. |
|
1115 */ |
|
1116 XTSE0180, |
|
1117 |
|
1118 /** |
|
1119 * An xsl:import element must be a top-level element. |
|
1120 */ |
|
1121 XTSE0190, |
|
1122 |
|
1123 /** |
|
1124 * The xsl:import element children must precede all other element |
|
1125 * children of an xsl:stylesheet element, including any xsl:include |
|
1126 * element children and any user-defined data elements. |
|
1127 */ |
|
1128 XTSE0200, |
|
1129 |
|
1130 /** |
|
1131 * It is a static error if a stylesheet module directly or indirectly |
|
1132 * imports itself. |
|
1133 */ |
|
1134 XTSE0210, |
|
1135 |
|
1136 /** |
|
1137 * It is a static error if an xsl:import-schema element that contains |
|
1138 * an xs:schema element has a schema-location attribute, or if it |
|
1139 * has a namespace attribute that conflicts with the target namespace |
|
1140 * of the contained schema. |
|
1141 */ |
|
1142 XTSE0215, |
|
1143 |
|
1144 /** |
|
1145 * It is a static error if the synthetic schema document does not |
|
1146 * satisfy the constraints described in [XML Schema Part 1] (section |
|
1147 * 5.1, Errors in Schema Construction and Structure). This includes, |
|
1148 * without loss of generality, conflicts such as multiple definitions |
|
1149 * of the same name. |
|
1150 */ |
|
1151 XTSE0220, |
|
1152 |
|
1153 /** |
|
1154 * Within an XSLT element that is required to be empty, any content |
|
1155 * other than comments or processing instructions, including any |
|
1156 * whitespace text node preserved using the xml:space="preserve" |
|
1157 * attribute, is a static error. |
|
1158 */ |
|
1159 XTSE0260, |
|
1160 |
|
1161 /** |
|
1162 * It is a static error if there is a stylesheet module in the stylesheet |
|
1163 * that specifies input-type-annotations="strip" and another stylesheet |
|
1164 * module that specifies input-type-annotations="preserve". |
|
1165 */ |
|
1166 XTSE0265, |
|
1167 |
|
1168 /** |
|
1169 * In the case of a prefixed QName used as the value of an attribute |
|
1170 * in the stylesheet, or appearing within an XPath expression in |
|
1171 * the stylesheet, it is a static error if the defining element |
|
1172 * has no namespace node whose name matches the prefix of the QName. |
|
1173 */ |
|
1174 XTSE0280, |
|
1175 |
|
1176 /** |
|
1177 * Where an attribute is defined to contain a pattern, it is a static |
|
1178 * error if the pattern does not match the production Pattern. |
|
1179 */ |
|
1180 XTSE0340, |
|
1181 |
|
1182 /** |
|
1183 * It is a static error if an unescaped left curly bracket appears |
|
1184 * in a fixed part of an attribute value template without a matching |
|
1185 * right curly bracket. |
|
1186 */ |
|
1187 XTSE0350, |
|
1188 |
|
1189 /** |
|
1190 * It is a static error if an unescaped right curly bracket occurs |
|
1191 * in a fixed part of an attribute value template. |
|
1192 */ |
|
1193 XTSE0370, |
|
1194 |
|
1195 /** |
|
1196 * An xsl:template element must have either a match attribute or |
|
1197 * a name attribute, or both. An xsl:template element that has no |
|
1198 * match attribute must have no mode attribute and no priority attribute. |
|
1199 */ |
|
1200 XTSE0500, |
|
1201 |
|
1202 /** |
|
1203 * The value of this attribute [the priority attribute of the xsl:template |
|
1204 * element] must conform to the rules for the xs:decimal type defined |
|
1205 * in [XML Schema Part 2]. Negative values are permitted.. |
|
1206 */ |
|
1207 XTSE0530, |
|
1208 |
|
1209 /** |
|
1210 * It is a static error if the list [of modes in the mode attribute |
|
1211 * of xsl:template] is empty, if the same token is included more |
|
1212 * than once in the list, if the list contains an invalid token, |
|
1213 * or if the token \#all appears together with any other value. |
|
1214 */ |
|
1215 XTSE0550, |
|
1216 |
|
1217 /** |
|
1218 * It is a static error if two parameters of a template or of a |
|
1219 * stylesheet function have the same name. |
|
1220 */ |
|
1221 XTSE0580, |
|
1222 |
|
1223 /** |
|
1224 * It is a static error if a variable-binding element has a select |
|
1225 * attribute and has non-empty content. |
|
1226 */ |
|
1227 XTSE0620, |
|
1228 |
|
1229 /** |
|
1230 * It is a static error if a stylesheet contains more than one binding |
|
1231 * of a global variable with the same name and same import precedence, |
|
1232 * unless it also contains another binding with the same name and |
|
1233 * higher import precedence. |
|
1234 */ |
|
1235 XTSE0630, |
|
1236 |
|
1237 /** |
|
1238 * It is a static error if a stylesheet contains an xsl:call-template |
|
1239 * instruction whose name attribute does not match the name attribute |
|
1240 * of any xsl:template in the stylesheet. |
|
1241 */ |
|
1242 XTSE0650, |
|
1243 |
|
1244 /** |
|
1245 * It is a static error if a stylesheet contains more than one template |
|
1246 * with the same name and the same import precedence, unless it |
|
1247 * also contains a template with the same name and higher import |
|
1248 * precedence. |
|
1249 */ |
|
1250 XTSE0660, |
|
1251 |
|
1252 /** |
|
1253 * It is a static error if a single xsl:call-template, xsl:apply-templates, |
|
1254 * xsl:apply-imports, or xsl:next-match element contains two or |
|
1255 * more xsl:with-param elements with matching name attributes. |
|
1256 */ |
|
1257 XTSE0670, |
|
1258 |
|
1259 /** |
|
1260 * In the case of xsl:call-template, it is a static error to pass |
|
1261 * a non-tunnel parameter named x to a template that does not have |
|
1262 * a template parameter named x, unless backwards compatible behavior |
|
1263 * is enabled for the xsl:call-template instruction. |
|
1264 */ |
|
1265 XTSE0680, |
|
1266 |
|
1267 /** |
|
1268 * It is a static error if a template that is invoked using xsl:call-template |
|
1269 * declares a template parameter specifying required="yes" and not |
|
1270 * specifying tunnel="yes", if no value for this parameter is supplied |
|
1271 * by the calling instruction. |
|
1272 */ |
|
1273 XTSE0690, |
|
1274 |
|
1275 /** |
|
1276 * It is a static error if the value of the use-attribute-sets attribute |
|
1277 * of an xsl:copy, xsl:element, or xsl:attribute-set element, or |
|
1278 * the xsl:use-attribute-sets attribute of a literal result element, |
|
1279 * is not a whitespace-separated sequence of QNames, or if it contains |
|
1280 * a QName that does not match the name attribute of any xsl:attribute-set |
|
1281 * declaration in the stylesheet. |
|
1282 */ |
|
1283 XTSE0710, |
|
1284 |
|
1285 /** |
|
1286 * It is a static error if an xsl:attribute-set element directly |
|
1287 * or indirectly references itself via the names contained in the |
|
1288 * use-attribute-sets attribute. |
|
1289 */ |
|
1290 XTSE0720, |
|
1291 |
|
1292 /** |
|
1293 * A stylesheet function must have a prefixed name, to remove any |
|
1294 * risk of a clash with a function in the default function namespace. |
|
1295 * It is a static error if the name has no prefix. |
|
1296 */ |
|
1297 XTSE0740, |
|
1298 |
|
1299 /** |
|
1300 * Because arguments to a stylesheet function call must all be specified, |
|
1301 * the xsl:param elements within an xsl:function element must not |
|
1302 * specify a default value: this means they must be empty, and must |
|
1303 * not have a select attribute. |
|
1304 */ |
|
1305 XTSE0760, |
|
1306 |
|
1307 /** |
|
1308 * It is a static error for a stylesheet to contain two or more |
|
1309 * functions with the same expanded-QName, the same arity, and the |
|
1310 * same import precedence, unless there is another function with |
|
1311 * the same expanded-QName and arity, and a higher import precedence. |
|
1312 */ |
|
1313 XTSE0770, |
|
1314 |
|
1315 /** |
|
1316 * It is a static error if an attribute on a literal result element |
|
1317 * is in the XSLT namespace, unless it is one of the attributes |
|
1318 * explicitly defined in this specification. |
|
1319 */ |
|
1320 XTSE0805, |
|
1321 |
|
1322 /** |
|
1323 * It is a static error if a namespace prefix is used within the |
|
1324 * [xsl:]exclude-result-prefixes attribute and there is no namespace |
|
1325 * binding in scope for that prefix. |
|
1326 */ |
|
1327 XTSE0808, |
|
1328 |
|
1329 /** |
|
1330 * It is a static error if the value \#default is used within the |
|
1331 * [xsl:]exclude-result-prefixes attribute and the parent element |
|
1332 * of the [xsl:]exclude-result-prefixes attribute has no default |
|
1333 * namespace. |
|
1334 */ |
|
1335 XTSE0809, |
|
1336 |
|
1337 /** |
|
1338 * It is a static error if there is more than one such declaration |
|
1339 * [more than one xsl:namespace-alias declaration] with the same |
|
1340 * literal namespace URI and the same import precedence and different |
|
1341 * values for the target namespace URI, unless there is also an |
|
1342 * xsl:namespace-alias declaration with the same literal namespace |
|
1343 * URI and a higher import precedence. |
|
1344 */ |
|
1345 XTSE0810, |
|
1346 |
|
1347 /** |
|
1348 * It is a static error if a value other than \#default is specified |
|
1349 * for either the stylesheet-prefix or the result-prefix attributes |
|
1350 * of the xsl:namespace-alias element when there is no in-scope |
|
1351 * binding for that namespace prefix. |
|
1352 */ |
|
1353 XTSE0812, |
|
1354 |
|
1355 /** |
|
1356 * It is a static error if the select attribute of the xsl:attribute |
|
1357 * element is present unless the element has empty content. |
|
1358 */ |
|
1359 XTSE0840, |
|
1360 |
|
1361 /** |
|
1362 * It is a static error if the select attribute of the xsl:value-of |
|
1363 * element is present when the content of the element is non-empty, |
|
1364 * or if the select attribute is absent when the content is empty. |
|
1365 */ |
|
1366 XTSE0870, |
|
1367 |
|
1368 /** |
|
1369 * It is a static error if the select attribute of the xsl:processing-instruction |
|
1370 * element is present unless the element has empty content. |
|
1371 */ |
|
1372 XTSE0880, |
|
1373 |
|
1374 /** |
|
1375 * It is a static error if the select attribute of the xsl:namespace |
|
1376 * element is present when the element has content other than one |
|
1377 * or more xsl:fallback instructions, or if the select attribute |
|
1378 * is absent when the element has empty content. |
|
1379 */ |
|
1380 XTSE0910, |
|
1381 |
|
1382 /** |
|
1383 * It is a static error if the select attribute of the xsl:comment |
|
1384 * element is present unless the element has empty content. |
|
1385 */ |
|
1386 XTSE0940, |
|
1387 |
|
1388 /** |
|
1389 * It is a type error to use the xsl:copy or xsl:copy-of instruction |
|
1390 * to copy a node that has namespace-sensitive content if the copy-namespaces |
|
1391 * attribute has the value no and its explicit or implicit validation |
|
1392 * attribute has the value preserve. It is also a type error if |
|
1393 * either of these instructions (with validation="preserve") is |
|
1394 * used to copy an attribute having namespace-sensitive content, |
|
1395 * unless the parent element is also copied. A node has namespace-sensitive |
|
1396 * content if its typed value contains an item of type xs:QName |
|
1397 * or xs:NOTATION or a type derived therefrom. The reason this is |
|
1398 * an error is because the validity of the content depends on the |
|
1399 * namespace context being preserved. |
|
1400 */ |
|
1401 XTTE0950, |
|
1402 |
|
1403 /** |
|
1404 * It is a static error if the value attribute of xsl:number is |
|
1405 * present unless the select, level, count, and from attributes |
|
1406 * are all absent. |
|
1407 */ |
|
1408 XTSE0975, |
|
1409 |
|
1410 /** |
|
1411 * It is a static error if an xsl:sort element with a select attribute |
|
1412 * has non-empty content. |
|
1413 */ |
|
1414 XTSE1015, |
|
1415 |
|
1416 /** |
|
1417 * It is a static error if an xsl:sort element other than the first |
|
1418 * in a sequence of sibling xsl:sort elements has a stable attribute. |
|
1419 */ |
|
1420 XTSE1017, |
|
1421 |
|
1422 /** |
|
1423 * It is a static error if an xsl:perform-sort instruction with |
|
1424 * a select attribute has any content other than xsl:sort and xsl:fallback |
|
1425 * instructions. |
|
1426 */ |
|
1427 XTSE1040, |
|
1428 |
|
1429 /** |
|
1430 * It is a static error if the current-group function is used within |
|
1431 * a pattern. |
|
1432 */ |
|
1433 XTSE1060, |
|
1434 |
|
1435 /** |
|
1436 * It is a static error if the current-grouping-key function is |
|
1437 * used within a pattern. |
|
1438 */ |
|
1439 XTSE1070, |
|
1440 |
|
1441 /** |
|
1442 * These four attributes [the group-by, group-adjacent, group-starting-with, |
|
1443 * and group-ending-with attributes of xsl:for-each-group ] are |
|
1444 * mutually exclusive: it is a static error if none of these four |
|
1445 * attributes is present, or if more than one of them is present. |
|
1446 */ |
|
1447 XTSE1080, |
|
1448 |
|
1449 /** |
|
1450 * It is an error to specify the collation attribute if neither |
|
1451 * the group-by attribute nor group-adjacent attribute is specified. |
|
1452 */ |
|
1453 XTSE1090, |
|
1454 |
|
1455 /** |
|
1456 * It is a static error if the xsl:analyze-string instruction contains |
|
1457 * neither an xsl:matching-substring nor an xsl:non-matching-substring |
|
1458 * element. |
|
1459 */ |
|
1460 XTSE1130, |
|
1461 |
|
1462 /** |
|
1463 * It is a static error if an xsl:key declaration has a use attribute |
|
1464 * and has non-empty content, or if it has empty content and no |
|
1465 * use attribute. |
|
1466 */ |
|
1467 XTSE1205, |
|
1468 |
|
1469 /** |
|
1470 * It is a static error if the xsl:key declaration has a collation |
|
1471 * attribute whose value (after resolving against the base URI) |
|
1472 * is not a URI recognized by the implementation as referring to |
|
1473 * a collation. |
|
1474 */ |
|
1475 XTSE1210, |
|
1476 |
|
1477 /** |
|
1478 * It is a static error if there are several xsl:key declarations |
|
1479 * in the stylesheet with the same key name and different effective |
|
1480 * collations. Two collations are the same if their URIs are equal |
|
1481 * under the rules for comparing xs:anyURI values, or if the implementation |
|
1482 * can determine that they are different URIs referring to the same |
|
1483 * collation. |
|
1484 */ |
|
1485 XTSE1220, |
|
1486 |
|
1487 /** |
|
1488 * It is a static error if a named or unnamed decimal format contains |
|
1489 * two conflicting values for the same attribute in different xsl:decimal-format |
|
1490 * declarations having the same import precedence, unless there |
|
1491 * is another definition of the same attribute with higher import |
|
1492 * precedence. |
|
1493 */ |
|
1494 XTSE1290, |
|
1495 |
|
1496 /** |
|
1497 * It is a static error if the character specified in the zero-digit |
|
1498 * attribute is not a digit or is a digit that does not have the |
|
1499 * numeric value zero. |
|
1500 */ |
|
1501 XTSE1295, |
|
1502 |
|
1503 /** |
|
1504 * It is a static error if, for any named or unnamed decimal format, |
|
1505 * the variables representing characters used in a picture string |
|
1506 * do not each have distinct values. These variables are decimal-separator-sign, |
|
1507 * grouping-sign, percent-sign, per-mille-sign, digit-zero-sign, |
|
1508 * digit-sign, and pattern-separator-sign. |
|
1509 */ |
|
1510 XTSE1300, |
|
1511 |
|
1512 /** |
|
1513 * It is a static error if there is no namespace bound to the prefix |
|
1514 * on the element bearing the [xsl:]extension-element-prefixes attribute |
|
1515 * or, when \#default is specified, if there is no default namespace. |
|
1516 */ |
|
1517 XTSE1430, |
|
1518 |
|
1519 /** |
|
1520 * It is a static error if both the [xsl:]type and [xsl:]validation |
|
1521 * attributes are present on the xsl:element, xsl:attribute, xsl:copy, |
|
1522 * xsl:copy-of, xsl:document, or xsl:result-document instructions, |
|
1523 * or on a literal result element. |
|
1524 */ |
|
1525 XTSE1505, |
|
1526 |
|
1527 /** |
|
1528 * It is a static error if the value of the type attribute of an |
|
1529 * xsl:element, xsl:attribute, xsl:copy, xsl:copy-of, xsl:document, |
|
1530 * or xsl:result-document instruction, or the xsl:type attribute |
|
1531 * of a literal result element, is not a valid QName, or if it uses |
|
1532 * a prefix that is not defined in an in-scope namespace declaration, |
|
1533 * or if the QName is not the name of a type definition included |
|
1534 * in the in-scope schema components for the stylesheet. |
|
1535 */ |
|
1536 XTSE1520, |
|
1537 |
|
1538 /** |
|
1539 * It is a static error if the value of the type attribute of an |
|
1540 * xsl:attribute instruction refers to a complex type definition |
|
1541 */ |
|
1542 XTSE1530, |
|
1543 |
|
1544 /** |
|
1545 * It is a static error if two xsl:output declarations within an |
|
1546 * output definition specify explicit values for the same attribute |
|
1547 * (other than cdata-section-elements and use-character-maps), with |
|
1548 * the values of the attributes being not equal, unless there is |
|
1549 * another xsl:output declaration within the same output definition |
|
1550 * that has higher import precedence and that specifies an explicit |
|
1551 * value for the same attribute. |
|
1552 */ |
|
1553 XTSE1560, |
|
1554 |
|
1555 /** |
|
1556 * The value [of the method attribute on xsl:output ] must (if present) |
|
1557 * be a valid QName. If the QName does not have a prefix, then it |
|
1558 * identifies a method specified in [XSLT and XQuery Serialization] |
|
1559 * and must be one of xml, html, xhtml, or text. |
|
1560 */ |
|
1561 XTSE1570, |
|
1562 |
|
1563 /** |
|
1564 * It is a static error if the stylesheet contains two or more character |
|
1565 * maps with the same name and the same import precedence, unless |
|
1566 * it also contains another character map with the same name and |
|
1567 * higher import precedence. |
|
1568 */ |
|
1569 XTSE1580, |
|
1570 |
|
1571 /** |
|
1572 * It is a static error if a name in the use-character-maps attribute |
|
1573 * of the xsl:output or xsl:character-map elements does not match |
|
1574 * the name attribute of any xsl:character-map in the stylesheet. |
|
1575 */ |
|
1576 XTSE1590, |
|
1577 |
|
1578 /** |
|
1579 * It is a static error if a character map references itself, directly |
|
1580 * or indirectly, via a name in the use-character-maps attribute. |
|
1581 */ |
|
1582 XTSE1600, |
|
1583 |
|
1584 /** |
|
1585 * A basic XSLT processor must signal a static error if the stylesheet |
|
1586 * includes an xsl:import-schema declaration. |
|
1587 */ |
|
1588 XTSE1650, |
|
1589 |
|
1590 /** |
|
1591 * A basic XSLT processor must signal a static error if the stylesheet |
|
1592 * includes an [xsl:]type attribute, or an [xsl:]validation or default-validation |
|
1593 * attribute with a value other than strip. |
|
1594 */ |
|
1595 XTSE1660, |
|
1596 |
|
1597 /** |
|
1598 * It is a type error if the result of evaluating the sequence constructor |
|
1599 * cannot be converted to the required type. |
|
1600 */ |
|
1601 XTTE0505, |
|
1602 |
|
1603 /** |
|
1604 * It is a type error if an xsl:apply-templates instruction with |
|
1605 * no select attribute is evaluated when the context item is not |
|
1606 * a node. |
|
1607 */ |
|
1608 XTTE0510, |
|
1609 |
|
1610 /** |
|
1611 * It is a type error if the sequence returned by the select expression |
|
1612 * [of xsl:apply-templates] contains an item that is not a node. |
|
1613 */ |
|
1614 XTTE0520, |
|
1615 |
|
1616 /** |
|
1617 * It is a type error if the supplied value of a variable cannot |
|
1618 * be converted to the required type. |
|
1619 */ |
|
1620 XTTE0570, |
|
1621 |
|
1622 /** |
|
1623 * It is a type error if the conversion of the supplied value of |
|
1624 * a parameter to its required type fails. |
|
1625 */ |
|
1626 XTTE0590, |
|
1627 |
|
1628 /** |
|
1629 * If a default value is given explicitly, that is, if there is |
|
1630 * either a select attribute or a non-empty sequence constructor, |
|
1631 * then it is a type error if the default value cannot be converted |
|
1632 * to the required type, using the function conversion rules. |
|
1633 */ |
|
1634 XTTE0600, |
|
1635 |
|
1636 /** |
|
1637 * If the as attribute [of xsl:function ] is specified, then the |
|
1638 * result evaluated by the sequence constructor (see 5.7 Sequence |
|
1639 * Constructors) is converted to the required type, using the function |
|
1640 * conversion rules. It is a type error if this conversion fails. |
|
1641 */ |
|
1642 XTTE0780, |
|
1643 |
|
1644 /** |
|
1645 * If the value of a parameter to a stylesheet function cannot be |
|
1646 * converted to the required type, a type error is signaled. |
|
1647 */ |
|
1648 XTTE0790, |
|
1649 |
|
1650 /** |
|
1651 * It is a type error if the xsl:number instruction is evaluated, |
|
1652 * with no value or select attribute, when the context item is not |
|
1653 * a node. |
|
1654 */ |
|
1655 XTTE0990, |
|
1656 |
|
1657 /** |
|
1658 * It is a type error if the result of evaluating the select attribute |
|
1659 * of the xsl:number instruction is anything other than a single |
|
1660 * node. |
|
1661 */ |
|
1662 XTTE1000, |
|
1663 |
|
1664 /** |
|
1665 * If any sort key value, after atomization and any type conversion |
|
1666 * required by the data-type attribute, is a sequence containing |
|
1667 * more than one item, then the effect depends on whether the xsl:sort |
|
1668 * element is evaluated with backwards compatible behavior. With |
|
1669 * backwards compatible behavior, the effective sort key value is |
|
1670 * the first item in the sequence. In other cases, this is a type |
|
1671 * error. |
|
1672 */ |
|
1673 XTTE1020, |
|
1674 |
|
1675 /** |
|
1676 * It is a type error if the grouping key evaluated using the group-adjacent |
|
1677 * attribute is an empty sequence, or a sequence containing more |
|
1678 * than one item. |
|
1679 */ |
|
1680 XTTE1100, |
|
1681 |
|
1682 /** |
|
1683 * When the group-starting-with or group-ending-with attribute [of |
|
1684 * the xsl:for-each-group instruction] is used, it is a type error |
|
1685 * if the result of evaluating the select expression contains an |
|
1686 * item that is not a node. |
|
1687 */ |
|
1688 XTTE1120, |
|
1689 |
|
1690 /** |
|
1691 * If the validation attribute of an xsl:element, xsl:attribute, |
|
1692 * xsl:copy, xsl:copy-of, or xsl:result-document instruction, or |
|
1693 * the xsl:validation attribute of a literal result element, has |
|
1694 * the effective value strict, and schema validity assessment concludes |
|
1695 * that the validity of the element or attribute is invalid or unknown, |
|
1696 * a type error occurs. As with other type errors, the error may |
|
1697 * be signaled statically if it can be detected statically. |
|
1698 */ |
|
1699 XTTE1510, |
|
1700 |
|
1701 /** |
|
1702 * If the validation attribute of an xsl:element, xsl:attribute, |
|
1703 * xsl:copy, xsl:copy-of, or xsl:result-document instruction, or |
|
1704 * the xsl:validation attribute of a literal result element, has |
|
1705 * the effective value strict, and there is no matching top-level |
|
1706 * declaration in the schema, then a type error occurs. As with |
|
1707 * other type errors, the error may be signaled statically if it |
|
1708 * can be detected statically. |
|
1709 */ |
|
1710 XTTE1512, |
|
1711 |
|
1712 /** |
|
1713 * If the validation attribute of an xsl:element, xsl:attribute, |
|
1714 * xsl:copy, xsl:copy-of, or xsl:result-document instruction, or |
|
1715 * the xsl:validation attribute of a literal result element, has |
|
1716 * the effective value lax, and schema validity assessment concludes |
|
1717 * that the element or attribute is invalid, a type error occurs. |
|
1718 * As with other type errors, the error may be signaled statically |
|
1719 * if it can be detected statically. |
|
1720 */ |
|
1721 XTTE1515, |
|
1722 |
|
1723 /** |
|
1724 * It is a type error if an [xsl:]type attribute is defined for |
|
1725 * a constructed element or attribute, and the outcome of schema |
|
1726 * validity assessment against that type is that the validity property |
|
1727 * of that element or attribute information item is other than valid. |
|
1728 */ |
|
1729 XTTE1540, |
|
1730 |
|
1731 /** |
|
1732 * A type error occurs if a type or validation attribute is defined |
|
1733 * (explicitly or implicitly) for an instruction that constructs |
|
1734 * a new attribute node, if the effect of this is to cause the attribute |
|
1735 * value to be validated against a type that is derived from, or |
|
1736 * constructed by list or union from, the primitive types xs:QName |
|
1737 * or xs:NOTATION. |
|
1738 */ |
|
1739 XTTE1545, |
|
1740 |
|
1741 /** |
|
1742 * A type error occurs [when a document node is validated] unless |
|
1743 * the children of the document node comprise exactly one element |
|
1744 * node, no text nodes, and zero or more comment and processing |
|
1745 * instruction nodes, in any order. |
|
1746 */ |
|
1747 XTTE1550, |
|
1748 |
|
1749 /** |
|
1750 * It is a type error if, when validating a document node, document-level |
|
1751 * constraints are not satisfied. These constraints include identity |
|
1752 * constraints (xs:unique, xs:key, and xs:keyref) and ID/IDREF constraints. |
|
1753 */ |
|
1754 XTTE1555, |
|
1755 |
|
1756 /** |
|
1757 * It is a non-recoverable dynamic error if the effective value |
|
1758 * of an attribute written using curly brackets, in a position where |
|
1759 * an attribute value template is permitted, is a value that is |
|
1760 * not one of the permitted values for that attribute. If the processor |
|
1761 * is able to detect the error statically (for example, when any |
|
1762 * XPath expressions within the curly brackets can be evaluated |
|
1763 * statically), then the processor may optionally signal this as |
|
1764 * a static error. |
|
1765 */ |
|
1766 XTDE0030, |
|
1767 |
|
1768 /** |
|
1769 * It is a non-recoverable dynamic error if the invocation of the |
|
1770 * stylesheet specifies a template name that does not match the |
|
1771 * expanded-QName of a named template defined in the stylesheet. |
|
1772 */ |
|
1773 XTDE0040, |
|
1774 |
|
1775 /** |
|
1776 * It is a non-recoverable dynamic error if the invocation of the |
|
1777 * stylesheet specifies an initial mode (other than the default |
|
1778 * mode) that does not match the expanded-QName in the mode attribute |
|
1779 * of any template defined in the stylesheet. |
|
1780 */ |
|
1781 XTDE0045, |
|
1782 |
|
1783 /** |
|
1784 * It is a non-recoverable dynamic error if the invocation of the |
|
1785 * stylesheet specifies both an initial mode and an initial template. |
|
1786 */ |
|
1787 XTDE0047, |
|
1788 |
|
1789 /** |
|
1790 * It is a non-recoverable dynamic error if the stylesheet that |
|
1791 * is invoked declares a visible stylesheet parameter with required="yes" |
|
1792 * and no value for this parameter is supplied during the invocation |
|
1793 * of the stylesheet. A stylesheet parameter is visible if it is |
|
1794 * not masked by another global variable or parameter with the same |
|
1795 * name and higher import precedence. |
|
1796 */ |
|
1797 XTDE0050, |
|
1798 |
|
1799 /** |
|
1800 * It is a non-recoverable dynamic error if the initial template |
|
1801 * defines a template parameter that specifies required="yes". |
|
1802 */ |
|
1803 XTDE0060, |
|
1804 |
|
1805 /** |
|
1806 * If an implementation does not support backwards-compatible behavior, |
|
1807 * then it is a non-recoverable dynamic error if any element is |
|
1808 * evaluated that enables backwards-compatible behavior. |
|
1809 */ |
|
1810 XTDE0160, |
|
1811 |
|
1812 /** |
|
1813 * It is a recoverable dynamic error if this [the process of finding |
|
1814 * an xsl:strip-space or xsl:preserve-space declaration to match |
|
1815 * an element in the source document] leaves more than one match, |
|
1816 * unless all the matched declarations are equivalent (that is, |
|
1817 * they are all xsl:strip-space or they are all xsl:preserve-space). |
|
1818 * Action: The optional recovery action is to select, from the matches |
|
1819 * that are left, the one that occurs last in declaration order. |
|
1820 */ |
|
1821 XTRE0270, |
|
1822 |
|
1823 /** |
|
1824 * Where the result of evaluating an XPath expression (or an attribute |
|
1825 * value template) is required to be a lexical QName, then unless |
|
1826 * otherwise specified it is a non-recoverable dynamic error if |
|
1827 * the defining element has no namespace node whose name matches |
|
1828 * the prefix of the lexical QName. This error may be signaled as |
|
1829 * a static error if the value of the expression can be determined |
|
1830 * statically. |
|
1831 */ |
|
1832 XTDE0290, |
|
1833 |
|
1834 /** |
|
1835 * It is a non-recoverable dynamic error if the result sequence |
|
1836 * used to construct the content of an element node contains a namespace |
|
1837 * node or attribute node that is preceded in the sequence by a |
|
1838 * node that is neither a namespace node nor an attribute node. |
|
1839 */ |
|
1840 XTDE0410, |
|
1841 |
|
1842 /** |
|
1843 * It is a non-recoverable dynamic error if the result sequence |
|
1844 * used to construct the content of a document node contains a namespace |
|
1845 * node or attribute node. |
|
1846 */ |
|
1847 XTDE0420, |
|
1848 |
|
1849 /** |
|
1850 * It is a non-recoverable dynamic error if the result sequence |
|
1851 * contains two or more namespace nodes having the same name but |
|
1852 * different string values (that is, namespace nodes that map the |
|
1853 * same prefix to different namespace URIs). |
|
1854 */ |
|
1855 XTDE0430, |
|
1856 |
|
1857 /** |
|
1858 * It is a non-recoverable dynamic error if the result sequence |
|
1859 * contains a namespace node with no name and the element node being |
|
1860 * constructed has a null namespace URI (that is, it is an error |
|
1861 * to define a default namespace when the element is in no namespace). |
|
1862 */ |
|
1863 XTDE0440, |
|
1864 |
|
1865 /** |
|
1866 * It is a non-recoverable dynamic error if namespace fixup is performed |
|
1867 * on an element that contains among the typed values of the element |
|
1868 * and its attributes two values of type xs:QName or xs:NOTATION |
|
1869 * containing conflicting namespace prefixes, that is, two values |
|
1870 * that use the same prefix to refer to different namespace URIs. |
|
1871 */ |
|
1872 XTDE0485, |
|
1873 |
|
1874 /** |
|
1875 * It is a recoverable dynamic error if the conflict resolution |
|
1876 * algorithm for template rules leaves more than one matching template |
|
1877 * rule. Action: The optional recovery action is to select, from |
|
1878 * the matching template rules that are left, the one that occurs |
|
1879 * last in declaration order. |
|
1880 */ |
|
1881 XTRE0540, |
|
1882 |
|
1883 /** |
|
1884 * It is a non-recoverable dynamic error if xsl:apply-imports or |
|
1885 * xsl:next-match is evaluated when the current template rule is |
|
1886 * null. |
|
1887 */ |
|
1888 XTDE0560, |
|
1889 |
|
1890 /** |
|
1891 * If an optional parameter has no select attribute and has an empty |
|
1892 * sequence constructor, and if there is an as attribute, then the |
|
1893 * default value of the parameter is an empty sequence. If the empty |
|
1894 * sequence is not a valid instance of the required type defined |
|
1895 * in the as attribute, then the parameter is treated as a required |
|
1896 * parameter, which means that it is a non-recoverable dynamic error |
|
1897 * if the caller supplies no value for the parameter. |
|
1898 */ |
|
1899 XTDE0610, |
|
1900 |
|
1901 /** |
|
1902 * In general, a circularity in a stylesheet is a non-recoverable |
|
1903 * dynamic error. |
|
1904 */ |
|
1905 XTDE0640, |
|
1906 |
|
1907 /** |
|
1908 * In other cases, [with xsl:apply-templates, xsl:apply-imports, |
|
1909 * and xsl:next-match, or xsl:call-template with tunnel parameters] |
|
1910 * it is a non-recoverable dynamic error if the template that is |
|
1911 * invoked declares a template parameter with required="yes" and |
|
1912 * no value for this parameter is supplied by the calling instruction. |
|
1913 */ |
|
1914 XTDE0700, |
|
1915 |
|
1916 /** |
|
1917 * It is a recoverable dynamic error if the name of a constructed |
|
1918 * attribute is xml:space and the value is not either default or |
|
1919 * preserve. Action: The optional recovery action is to construct |
|
1920 * the attribute with the value as requested. |
|
1921 */ |
|
1922 XTRE0795, |
|
1923 |
|
1924 /** |
|
1925 * It is a non-recoverable dynamic error if the effective value |
|
1926 * of the name attribute [of the xsl:element instruction] is not |
|
1927 * a lexical QName. |
|
1928 */ |
|
1929 XTDE0820, |
|
1930 |
|
1931 /** |
|
1932 * In the case of an xsl:element instruction with no namespace attribute, |
|
1933 * it is a non-recoverable dynamic error if the effective value |
|
1934 * of the name attribute is a QName whose prefix is not declared |
|
1935 * in an in-scope namespace declaration for the xsl:element instruction. |
|
1936 */ |
|
1937 XTDE0830, |
|
1938 |
|
1939 /** |
|
1940 * It is a non-recoverable dynamic error if the effective value |
|
1941 * of the namespace attribute [of the xsl:element instruction] is |
|
1942 * not in the lexical space of the xs:anyURI data type. |
|
1943 */ |
|
1944 XTDE0835, |
|
1945 |
|
1946 /** |
|
1947 * It is a non-recoverable dynamic error if the effective value |
|
1948 * of the name attribute [of an xsl:attribute instruction] is not |
|
1949 * a lexical QName. |
|
1950 */ |
|
1951 XTDE0850, |
|
1952 |
|
1953 /** |
|
1954 * In the case of an xsl:attribute instruction with no namespace |
|
1955 * attribute, it is a non-recoverable dynamic error if the effective |
|
1956 * value of the name attribute is the string xmlns. |
|
1957 */ |
|
1958 XTDE0855, |
|
1959 |
|
1960 /** |
|
1961 * In the case of an xsl:attribute instruction with no namespace |
|
1962 * attribute, it is a non-recoverable dynamic error if the effective |
|
1963 * value of the name attribute is a lexical QName whose prefix is |
|
1964 * not declared in an in-scope namespace declaration for the xsl:attribute |
|
1965 * instruction. |
|
1966 */ |
|
1967 XTDE0860, |
|
1968 |
|
1969 /** |
|
1970 * It is a non-recoverable dynamic error if the effective value |
|
1971 * of the namespace attribute [of the xsl:attribute instruction] |
|
1972 * is not in the lexical space of the xs:anyURI data type. |
|
1973 */ |
|
1974 XTDE0865, |
|
1975 |
|
1976 /** |
|
1977 * It is a non-recoverable dynamic error if the effective value |
|
1978 * of the name attribute [of the xsl:processing-instruction instruction] |
|
1979 * is not both an NCName Names and a PITarget XML. |
|
1980 */ |
|
1981 XTDE0890, |
|
1982 |
|
1983 /** |
|
1984 * It is a non-recoverable dynamic error if the string value of |
|
1985 * the new namespace node [created using xsl:namespace] is not valid |
|
1986 * in the lexical space of the data type xs:anyURI. [see ERR XTDE0835] |
|
1987 */ |
|
1988 XTDE0905, |
|
1989 |
|
1990 /** |
|
1991 * It is a non-recoverable dynamic error if the effective value |
|
1992 * of the name attribute [of the xsl:namespace instruction] is neither |
|
1993 * a zero-length string nor an NCName Names, or if it is xmlns. |
|
1994 */ |
|
1995 XTDE0920, |
|
1996 |
|
1997 /** |
|
1998 * It is a non-recoverable dynamic error if the xsl:namespace instruction |
|
1999 * generates a namespace node whose name is xml and whose string |
|
2000 * value is not http://www.w3.org/XML/1998/namespace, or a namespace |
|
2001 * node whose string value is http://www.w3.org/XML/1998/namespace |
|
2002 * and whose name is not xml. |
|
2003 */ |
|
2004 XTDE0925, |
|
2005 |
|
2006 /** |
|
2007 * It is a non-recoverable dynamic error if evaluating the select |
|
2008 * attribute or the contained sequence constructor of an xsl:namespace |
|
2009 * instruction results in a zero-length string. |
|
2010 */ |
|
2011 XTDE0930, |
|
2012 |
|
2013 /** |
|
2014 * It is a non-recoverable dynamic error if any undiscarded item |
|
2015 * in the atomized sequence supplied as the value of the value attribute |
|
2016 * of xsl:number cannot be converted to an integer, or if the resulting |
|
2017 * integer is less than 0 (zero). |
|
2018 */ |
|
2019 XTDE0980, |
|
2020 |
|
2021 /** |
|
2022 * It is a non-recoverable dynamic error if, for any sort key component, |
|
2023 * the set of sort key values evaluated for all the items in the |
|
2024 * initial sequence, after any type conversion requested, contains |
|
2025 * a pair of ordinary values for which the result of the XPath lt |
|
2026 * operator is an error. |
|
2027 */ |
|
2028 XTDE1030, |
|
2029 |
|
2030 /** |
|
2031 * It is a non-recoverable dynamic error if the collation attribute |
|
2032 * of xsl:sort (after resolving against the base URI) is not a URI |
|
2033 * that is recognized by the implementation as referring to a collation. |
|
2034 */ |
|
2035 XTDE1035, |
|
2036 |
|
2037 /** |
|
2038 * It is a non-recoverable dynamic error if the collation URI specified |
|
2039 * to xsl:for-each-group (after resolving against the base URI) |
|
2040 * is a collation that is not recognized by the implementation. |
|
2041 * (For notes, [see ERR XTDE1035].) |
|
2042 */ |
|
2043 XTDE1110, |
|
2044 |
|
2045 /** |
|
2046 * It is a non-recoverable dynamic error if the effective value |
|
2047 * of the regex attribute [of the xsl:analyze-string instruction] |
|
2048 * does not conform to the required syntax for regular expressions, |
|
2049 * as specified in [Functions and Operators]. If the regular expression |
|
2050 * is known statically (for example, if the attribute does not contain |
|
2051 * any expressions enclosed in curly brackets) then the processor |
|
2052 * may signal the error as a static error. |
|
2053 */ |
|
2054 XTDE1140, |
|
2055 |
|
2056 /** |
|
2057 * It is a non-recoverable dynamic error if the effective value |
|
2058 * of the flags attribute [of the xsl:analyze-string instruction] |
|
2059 * has a value other than the values defined in [Functions and Operators]. |
|
2060 * If the value of the attribute is known statically (for example, |
|
2061 * if the attribute does not contain any expressions enclosed in |
|
2062 * curly brackets) then the processor may signal the error as a |
|
2063 * static error. |
|
2064 */ |
|
2065 XTDE1145, |
|
2066 |
|
2067 /** |
|
2068 * It is a non-recoverable dynamic error if the effective value |
|
2069 * of the regex attribute [of the xsl:analyze-string instruction] |
|
2070 * is a regular expression that matches a zero-length string: or |
|
2071 * more specifically, if the regular expression $r and flags $f |
|
2072 * are such that matches("", $r, $f) returns true. If the regular |
|
2073 * expression is known statically (for example, if the attribute |
|
2074 * does not contain any expressions enclosed in curly brackets) |
|
2075 * then the processor may signal the error as a static error. |
|
2076 */ |
|
2077 XTDE1150, |
|
2078 |
|
2079 /** |
|
2080 * When a URI reference [supplied to the document function] contains |
|
2081 * a fragment identifier, it is a recoverable dynamic error if the |
|
2082 * media type is not one that is recognized by the processor, or |
|
2083 * if the fragment identifier does not conform to the rules for |
|
2084 * fragment identifiers for that media type, or if the fragment |
|
2085 * identifier selects something other than a sequence of nodes (for |
|
2086 * example, if it selects a range of characters within a text node). |
|
2087 * Action: The optional recovery action is to ignore the fragment |
|
2088 * identifier and return the document node. |
|
2089 */ |
|
2090 XTRE1160, |
|
2091 |
|
2092 /** |
|
2093 * It is a non-recoverable dynamic error if a URI [supplied in the |
|
2094 * first argument to the unparsed-text function] contains a fragment |
|
2095 * identifier, or if it cannot be used to retrieve a resource containing |
|
2096 * text. |
|
2097 */ |
|
2098 XTDE1170, |
|
2099 |
|
2100 /** |
|
2101 * It is a non-recoverable dynamic error if a resource [retrieved |
|
2102 * using the unparsed-text function] contains octets that cannot |
|
2103 * be decoded into Unicode characters using the specified encoding, |
|
2104 * or if the resulting characters are not permitted XML characters. |
|
2105 * This includes the case where the processor does not support the |
|
2106 * requested encoding. |
|
2107 */ |
|
2108 XTDE1190, |
|
2109 |
|
2110 /** |
|
2111 * It is a non-recoverable dynamic error if the second argument |
|
2112 * of the unparsed-text function is omitted and the processor cannot |
|
2113 * infer the encoding using external information and the encoding |
|
2114 * is not UTF-8. |
|
2115 */ |
|
2116 XTDE1200, |
|
2117 |
|
2118 /** |
|
2119 * It is a non-recoverable dynamic error if the value [of the first |
|
2120 * argument to the key function] is not a valid QName, or if there |
|
2121 * is no namespace declaration in scope for the prefix of the QName, |
|
2122 * or if the name obtained by expanding the QName is not the same |
|
2123 * as the expanded name of any xsl:key declaration in the stylesheet. |
|
2124 * If the processor is able to detect the error statically (for |
|
2125 * example, when the argument is supplied as a string literal), |
|
2126 * then the processor may optionally signal this as a static error. |
|
2127 */ |
|
2128 XTDE1260, |
|
2129 |
|
2130 /** |
|
2131 * It is a non-recoverable dynamic error to call the key function |
|
2132 * with two arguments if there is no context node, or if the root |
|
2133 * of the tree containing the context node is not a document node; |
|
2134 * or to call the function with three arguments if the root of the |
|
2135 * tree containing the node supplied in the third argument is not |
|
2136 * a document node. |
|
2137 */ |
|
2138 XTDE1270, |
|
2139 |
|
2140 /** |
|
2141 * It is a non-recoverable dynamic error if the name specified as |
|
2142 * the $decimal-format-name argument [ to the format-number function] |
|
2143 * is not a valid QName, or if its prefix has not been declared |
|
2144 * in an in-scope namespace declaration, or if the stylesheet does |
|
2145 * not contain a declaration of a decimal-format with a matching |
|
2146 * expanded-QName. If the processor is able to detect the error |
|
2147 * statically (for example, when the argument is supplied as a string |
|
2148 * literal), then the processor may optionally signal this as a |
|
2149 * static error. |
|
2150 */ |
|
2151 XTDE1280, |
|
2152 |
|
2153 /** |
|
2154 * The picture string [supplied to the format-number function] must |
|
2155 * conform to the following rules. [ See full specification.] It |
|
2156 * is a non-recoverable dynamic error if the picture string does |
|
2157 * not satisfy these rules. |
|
2158 */ |
|
2159 XTDE1310, |
|
2160 |
|
2161 /** |
|
2162 * It is a non-recoverable dynamic error if the syntax of the picture |
|
2163 * [used for date/time formatting] is incorrect. |
|
2164 */ |
|
2165 XTDE1340, |
|
2166 |
|
2167 /** |
|
2168 * It is a non-recoverable dynamic error if a component specifier |
|
2169 * within the picture [used for date/time formatting] refers to |
|
2170 * components that are not available in the given type of $value, |
|
2171 * for example if the picture supplied to the format-time refers |
|
2172 * to the year, month, or day component. |
|
2173 */ |
|
2174 XTDE1350, |
|
2175 |
|
2176 /** |
|
2177 * If the current function is evaluated within an expression that |
|
2178 * is evaluated when the context item is undefined, a non-recoverable |
|
2179 * dynamic error occurs. |
|
2180 */ |
|
2181 XTDE1360, |
|
2182 |
|
2183 /** |
|
2184 * It is a non-recoverable dynamic error if the unparsed-entity-uri |
|
2185 * function is called when there is no context node, or when the |
|
2186 * root of the tree containing the context node is not a document |
|
2187 * node. |
|
2188 */ |
|
2189 XTDE1370, |
|
2190 |
|
2191 /** |
|
2192 * It is a non-recoverable dynamic error if the unparsed-entity-public-id |
|
2193 * function is called when there is no context node, or when the |
|
2194 * root of the tree containing the context node is not a document |
|
2195 * node. |
|
2196 */ |
|
2197 XTDE1380, |
|
2198 |
|
2199 /** |
|
2200 * It is a non-recoverable dynamic error if the value [supplied |
|
2201 * as the $property-name argument to the system-property function] |
|
2202 * is not a valid QName, or if there is no namespace declaration |
|
2203 * in scope for the prefix of the QName. If the processor is able |
|
2204 * to detect the error statically (for example, when the argument |
|
2205 * is supplied as a string literal), then the processor may optionally |
|
2206 * signal this as a static error. |
|
2207 */ |
|
2208 XTDE1390, |
|
2209 |
|
2210 /** |
|
2211 * When a transformation is terminated by use of xsl:message terminate="yes", |
|
2212 * the effect is the same as when a non-recoverable dynamic error |
|
2213 * occurs during the transformation. |
|
2214 */ |
|
2215 XTMM9000, |
|
2216 |
|
2217 /** |
|
2218 * It is a non-recoverable dynamic error if the argument [passed |
|
2219 * to the function-available function] does not evaluate to a string |
|
2220 * that is a valid QName, or if there is no namespace declaration |
|
2221 * in scope for the prefix of the QName. If the processor is able |
|
2222 * to detect the error statically (for example, when the argument |
|
2223 * is supplied as a string literal), then the processor may optionally |
|
2224 * signal this as a static error. |
|
2225 */ |
|
2226 XTDE1400, |
|
2227 |
|
2228 /** |
|
2229 * It is a non-recoverable dynamic error if the arguments supplied |
|
2230 * to a call on an extension function do not satisfy the rules defined |
|
2231 * for that particular extension function, or if the extension function |
|
2232 * reports an error, or if the result of the extension function |
|
2233 * cannot be converted to an XPath value. |
|
2234 */ |
|
2235 XTDE1420, |
|
2236 |
|
2237 /** |
|
2238 * When backwards compatible behavior is enabled, it is a non-recoverable |
|
2239 * dynamic error to evaluate an extension function call if no implementation |
|
2240 * of the extension function is available. |
|
2241 */ |
|
2242 XTDE1425, |
|
2243 |
|
2244 /** |
|
2245 * It is a non-recoverable dynamic error if the argument [passed |
|
2246 * to the type-available function] does not evaluate to a string |
|
2247 * that is a valid QName, or if there is no namespace declaration |
|
2248 * in scope for the prefix of the QName. If the processor is able |
|
2249 * to detect the error statically (for example, when the argument |
|
2250 * is supplied as a string literal), then the processor may optionally |
|
2251 * signal this as a static error. |
|
2252 */ |
|
2253 XTDE1428, |
|
2254 |
|
2255 /** |
|
2256 * It is a non-recoverable dynamic error if the argument [passed |
|
2257 * to the element-available function] does not evaluate to a string |
|
2258 * that is a valid QName, or if there is no namespace declaration |
|
2259 * in scope for the prefix of the QName. If the processor is able |
|
2260 * to detect the error statically (for example, when the argument |
|
2261 * is supplied as a string literal), then the processor may optionally |
|
2262 * signal this as a static error. |
|
2263 */ |
|
2264 XTDE1440, |
|
2265 |
|
2266 /** |
|
2267 * When a processor performs fallback for an extension instruction |
|
2268 * that is not recognized, if the instruction element has one or |
|
2269 * more xsl:fallback children, then the content of each of the xsl:fallback |
|
2270 * children must be evaluated; it is a non-recoverable dynamic error |
|
2271 * if it has no xsl:fallback children. |
|
2272 */ |
|
2273 XTDE1450, |
|
2274 |
|
2275 /** |
|
2276 * It is a non-recoverable dynamic error if the effective value |
|
2277 * of the format attribute [of an xsl:result-document element] is |
|
2278 * not a valid lexical QName, or if it does not match the expanded-QName |
|
2279 * of an output definition in the stylesheet. If the processor is |
|
2280 * able to detect the error statically (for example, when the format |
|
2281 * attribute contains no curly brackets), then the processor may |
|
2282 * optionally signal this as a static error. |
|
2283 */ |
|
2284 XTDE1460, |
|
2285 |
|
2286 /** |
|
2287 * It is a non-recoverable dynamic error to evaluate the xsl:result-document |
|
2288 * instruction in temporary output state. |
|
2289 */ |
|
2290 XTDE1480, |
|
2291 |
|
2292 /** |
|
2293 * It is a non-recoverable dynamic error for a transformation to |
|
2294 * generate two or more final result trees with the same URI. |
|
2295 */ |
|
2296 XTDE1490, |
|
2297 |
|
2298 /** |
|
2299 * It is a recoverable dynamic error for a transformation to generate |
|
2300 * two or more final result trees with URIs that identify the same |
|
2301 * physical resource. The optional recovery action is implementation-dependent, |
|
2302 * since it may be impossible for the processor to detect the error. |
|
2303 */ |
|
2304 XTRE1495, |
|
2305 |
|
2306 /** |
|
2307 * It is a recoverable dynamic error for a stylesheet to write to |
|
2308 * an external resource and read from the same resource during a |
|
2309 * single transformation, whether or not the same URI is used to |
|
2310 * access the resource in both cases. Action: The optional recovery |
|
2311 * action is implementation-dependent: implementations are not required |
|
2312 * to detect the error condition. Note that if the error is not |
|
2313 * detected, it is undefined whether the document that is read from |
|
2314 * the resource reflects its state before or after the result tree |
|
2315 * is written. |
|
2316 */ |
|
2317 XTRE1500, |
|
2318 |
|
2319 /** |
|
2320 * It is a recoverable dynamic error if an xsl:value-of or xsl:text |
|
2321 * instruction specifies that output escaping is to be disabled |
|
2322 * and the implementation does not support this. Action: The optional |
|
2323 * recovery action is to ignore the disable-output-escaping attribute. |
|
2324 */ |
|
2325 XTRE1620, |
|
2326 |
|
2327 /** |
|
2328 * It is a recoverable dynamic error if an xsl:value-of or xsl:text |
|
2329 * instruction specifies that output escaping is to be disabled |
|
2330 * when writing to a final result tree that is not being serialized. |
|
2331 * Action: The optional recovery action is to ignore the disable-output-escaping |
|
2332 * attribute. |
|
2333 */ |
|
2334 XTRE1630, |
|
2335 |
|
2336 /** |
|
2337 * A basic XSLT processor must raise a non-recoverable dynamic error |
|
2338 * if the input to the processor includes a node with a type annotation |
|
2339 * other than xs:untyped or xs:untypedAtomic, or an atomic value |
|
2340 * of a type other than those which a basic XSLT processor supports. |
|
2341 */ |
|
2342 XTDE1665 |
|
2343 |
|
2344 }; |
|
2345 |
|
2346 /** |
|
2347 * Issues a warning, should not be used excessively. This can |
|
2348 * be used to communicate that a certain implementation defined |
|
2349 * feature is unsupported or that a certain expression most likely |
|
2350 * doesn't do what the users wants, to name a few examples. |
|
2351 * |
|
2352 * @see <a href="http://www.w3.org/TR/xpath20/#errors">XML Path Language (XPath) 2.0, |
|
2353 * 2.3 Error Handling</a> |
|
2354 * @param message the message to be read by the user. |
|
2355 * @param sourceLocation the location of where the warning originates from. |
|
2356 */ |
|
2357 void warning(const QString &message, const QSourceLocation &sourceLocation = QSourceLocation()); |
|
2358 |
|
2359 /** |
|
2360 * Issues an error. May be used at the static analysis phase or |
|
2361 * the dynamic evaluation phase. |
|
2362 * |
|
2363 * For SourceLocationReflection instances, the overload taking an SouourceLocationReflection should be used. |
|
2364 * |
|
2365 * @see <a href="http://www.w3.org/TR/xpath20/#errors">XML Path Language (XPath) 2.0, |
|
2366 * 2.3 Error Handling</a> |
|
2367 * @param message the message to be read by the user. |
|
2368 * @param errorCode identifies the error condition, as described |
|
2369 * @param sourceLocation the location of where the error originates from |
|
2370 * in "XML Path Language (XPath) 2.0" section "G Error Conditions" |
|
2371 */ |
|
2372 void error(const QString &message, |
|
2373 const ReportContext::ErrorCode errorCode, |
|
2374 const QSourceLocation &sourceLocation); |
|
2375 |
|
2376 /** |
|
2377 * Overload. |
|
2378 * |
|
2379 * Same as the above, but passes the SourceLocationReflection as reference for error reporting. |
|
2380 */ |
|
2381 void error(const QString &message, |
|
2382 const ReportContext::ErrorCode errorCode, |
|
2383 const SourceLocationReflection *const reflection); |
|
2384 |
|
2385 /** |
|
2386 * Issues an error which is not identified in the XPath specifications. This function |
|
2387 * is among other things used for implementing the <tt>fn:error()</tt> function. |
|
2388 */ |
|
2389 void error(const QString &message, |
|
2390 const QXmlName qName, |
|
2391 const SourceLocationReflection *const r); |
|
2392 |
|
2393 /** |
|
2394 * @return the QAbstractMessageHandler which functions such as warning() and |
|
2395 * error() should submit messages to. This function |
|
2396 * may never return @c null; a valid QAbstractMessageHandler pointer must always be returned. |
|
2397 */ |
|
2398 virtual QAbstractMessageHandler *messageHandler() const = 0; |
|
2399 |
|
2400 virtual NamePool::Ptr namePool() const = 0; |
|
2401 |
|
2402 /** |
|
2403 * Returns a string representation of the error code @p code. |
|
2404 * |
|
2405 * @see ReportContext::ErrorCode |
|
2406 * @param errorCode identifies the error condition, as described |
|
2407 * in <a href="http://www.w3.org/TR/xpath20/#id-errors">XML Path |
|
2408 * Language (XPath) 2.0, G Error Conditions</a> |
|
2409 */ |
|
2410 static QString codeToString(const ReportContext::ErrorCode errorCode); |
|
2411 |
|
2412 /** |
|
2413 * @returns the error code part of @p typeURI and sets @p uri to the error namespace. Note |
|
2414 * that the error namespace not necessarily is the namespace for XPath and |
|
2415 * XQuery errors, http://www.w3.org/2005/xqt-errors, but can be user defined. |
|
2416 */ |
|
2417 static QString codeFromURI(const QString &typeURI, |
|
2418 QString &uri); |
|
2419 |
|
2420 /** |
|
2421 * @short Returns the source location applying for @p reflection. |
|
2422 */ |
|
2423 virtual QSourceLocation locationFor(const SourceLocationReflection *const reflection) const = 0; |
|
2424 |
|
2425 /** |
|
2426 * Resolves @p relative against @p baseURI, possibly using a URI resolver. |
|
2427 */ |
|
2428 QUrl resolveURI(const QUrl &relative, |
|
2429 const QUrl &baseURI) const; |
|
2430 |
|
2431 /** |
|
2432 * @short The URI resolver in use. |
|
2433 * |
|
2434 * If no URI resolver is in use, a @c null pointer is returned. |
|
2435 * |
|
2436 * @note You should probably use resolveURI(), which handles the case of |
|
2437 * when uriResolver() is @c null. |
|
2438 */ |
|
2439 virtual const QAbstractUriResolver *uriResolver() const = 0; |
|
2440 |
|
2441 private: |
|
2442 void createError(const QString &description, |
|
2443 const QtMsgType type, |
|
2444 const QUrl &id, |
|
2445 const QSourceLocation &sourceLocation) const; |
|
2446 static inline QString finalizeDescription(const QString &desc); |
|
2447 QSourceLocation lookupSourceLocation(const SourceLocationReflection *const ref) const; |
|
2448 |
|
2449 Q_DISABLE_COPY(ReportContext) |
|
2450 }; |
|
2451 |
|
2452 /** |
|
2453 * @short This is the class type that is being thrown when a query error occur. |
|
2454 * |
|
2455 * @relates ReportContext |
|
2456 */ |
|
2457 typedef bool Exception; |
|
2458 } |
|
2459 |
|
2460 QT_END_NAMESPACE |
|
2461 |
|
2462 QT_END_HEADER |
|
2463 |
|
2464 #endif |