1 # DEBUG and error logging
5 # module level API functions
10 Clear the global error log. Note that this log is already bound to a
13 Note: since lxml 2.2, the global error log is local to a thread
14 and this function will only clear the global error log of the
17 _getGlobalErrorLog().clear()
19 # dummy function: no debug output at all
20 cdef void _nullGenericErrorFunc(void* ctxt, char* msg, ...) nogil:
23 # setup for global log:
25 cdef void _initThreadLogging():
26 # disable generic error lines from libxml2
27 xmlerror.xmlThrDefSetGenericErrorFunc(NULL, _nullGenericErrorFunc)
28 xmlerror.xmlSetGenericErrorFunc(NULL, _nullGenericErrorFunc)
30 # divert error messages to the global error log
31 xmlerror.xmlThrDefSetStructuredErrorFunc(NULL, _receiveError)
34 cdef void connectErrorLog(void* log):
35 xmlerror.xmlSetStructuredErrorFunc(log, _receiveError)
36 xslt.xsltSetGenericErrorFunc(log, _receiveXSLTError)
42 cdef readonly object domain
43 cdef readonly object type
44 cdef readonly object level
45 cdef readonly object line
46 cdef readonly object column
47 cdef readonly object message
48 cdef readonly object filename
50 cdef _setError(self, xmlerror.xmlError* error):
52 self.domain = error.domain
53 self.type = error.code
54 self.level = <int>error.level
55 self.line = error.line
56 self.column = error.int2
57 size = cstd.strlen(error.message)
58 if size > 0 and error.message[size-1] == c'\n':
59 size = size - 1 # strip EOL
61 self.message = python.PyUnicode_DecodeUTF8(
62 error.message, size, NULL)
65 self.message = python.PyUnicode_DecodeASCII(
66 error.message, size, 'backslashreplace')
68 self.message = u'<undecodable error message>'
69 if error.file is NULL:
70 self.filename = u'<string>'
72 self.filename = _decodeFilename(error.file)
74 cdef _setGeneric(self, int domain, int type, int level, int line,
81 self.message = message
82 self.filename = filename
85 return u"%s:%d:%d:%s:%s:%s: %s" % (
86 self.filename, self.line, self.column, self.level_name,
87 self.domain_name, self.type_name, self.message)
91 return ErrorDomains._getName(self.domain, u"unknown")
95 if self.domain == ErrorDomains.RELAXNGV:
96 getName = RelaxNGErrorTypes._getName
98 getName = ErrorTypes._getName
99 return getName(self.type, u"unknown")
103 return ErrorLevels._getName(self.level, u"unknown")
105 cdef class _BaseErrorLog:
106 cdef _LogEntry _first_error
107 cdef readonly object last_error
108 def __init__(self, first_error, last_error):
109 self._first_error = first_error
110 self.last_error = last_error
113 return _BaseErrorLog(self._first_error, self.last_error)
118 cdef void _receive(self, xmlerror.xmlError* error):
121 cdef _BaseErrorLog global_log
123 entry._setError(error)
124 is_error = error.level == xmlerror.XML_ERR_ERROR or \
125 error.level == xmlerror.XML_ERR_FATAL
126 global_log = _getGlobalErrorLog()
127 if global_log is not self:
128 global_log.receive(entry)
130 global_log.last_error = entry
133 self.last_error = entry
135 cdef void _receiveGeneric(self, int domain, int type, int level, int line,
139 cdef _BaseErrorLog global_log
141 entry._setGeneric(domain, type, level, line, message, filename)
142 is_error = level == xmlerror.XML_ERR_ERROR or \
143 level == xmlerror.XML_ERR_FATAL
144 global_log = _getGlobalErrorLog()
145 if global_log is not self:
146 global_log.receive(entry)
148 global_log.last_error = entry
151 self.last_error = entry
153 cdef _buildParseException(self, exctype, default_message):
154 code = xmlerror.XML_ERR_INTERNAL_ERROR
155 if self._first_error is None:
156 return exctype(default_message, code, 0, 0)
157 if self._first_error is None or \
158 self._first_error.message is None or \
159 not self._first_error.message:
160 message = default_message
164 message = self._first_error.message
165 code = self._first_error.type
166 line = self._first_error.line
167 column = self._first_error.column
170 message = u"%s, line %d, column %d" % (message, line, column)
172 message = u"%s, line %d" % (message, line)
173 return exctype(message, code, line, column)
175 cdef _buildExceptionMessage(self, default_message):
176 if self._first_error is None:
177 return default_message
178 if self._first_error.message is not None and self._first_error.message:
179 message = self._first_error.message
180 elif default_message is None:
183 message = default_message
184 if self._first_error.line > 0:
185 if self._first_error.column > 0:
186 message = u"%s, line %d, column %d" % (
187 message, self._first_error.line, self._first_error.column)
189 message = u"%s, line %d" % (message, self._first_error.line)
192 cdef class _ListErrorLog(_BaseErrorLog):
193 u"Immutable base version of a list based error log."
195 def __init__(self, entries, first_error, last_error):
197 if first_error is None:
198 first_error = entries[0]
199 if last_error is None:
200 last_error = entries[-1]
201 _BaseErrorLog.__init__(self, first_error, last_error)
202 self._entries = entries
205 u"""Creates a shallow copy of this error log. Reuses the list of
208 return _ListErrorLog(self._entries, self._first_error, self.last_error)
211 return iter(self._entries)
215 for entry in self._entries:
216 l.append(repr(entry))
219 def __getitem__(self, index):
220 return self._entries[index]
223 return len(self._entries)
225 def __contains__(self, error_type):
226 for entry in self._entries:
227 if entry.type == error_type:
231 def __nonzero__(self):
233 result = self._entries
236 def filter_domains(self, domains):
237 u"""Filter the errors by the given domains and return a new error log
238 containing the matches.
241 cdef list filtered = []
242 if not python.PySequence_Check(domains):
244 for entry in self._entries:
245 if entry.domain in domains:
246 filtered.append(entry)
247 return _ListErrorLog(filtered, None, None)
249 def filter_types(self, types):
250 u"""filter_types(self, types)
252 Filter the errors by the given types and return a new error
253 log containing the matches.
256 cdef list filtered = []
257 if not python.PySequence_Check(types):
259 for entry in self._entries:
260 if entry.type in types:
261 filtered.append(entry)
262 return _ListErrorLog(filtered, None, None)
264 def filter_levels(self, levels):
265 u"""filter_levels(self, levels)
267 Filter the errors by the given error levels and return a new
268 error log containing the matches.
271 cdef list filtered = []
272 if not python.PySequence_Check(levels):
274 for entry in self._entries:
275 if entry.level in levels:
276 filtered.append(entry)
277 return _ListErrorLog(filtered, None, None)
279 def filter_from_level(self, level):
280 u"""filter_from_level(self, level)
282 Return a log with all messages of the requested level of worse.
285 cdef list filtered = []
286 for entry in self._entries:
287 if entry.level >= level:
288 filtered.append(entry)
289 return _ListErrorLog(filtered, None, None)
291 def filter_from_fatals(self):
292 u"""filter_from_fatals(self)
294 Convenience method to get all fatal error messages.
296 return self.filter_from_level(ErrorLevels.FATAL)
298 def filter_from_errors(self):
299 u"""filter_from_errors(self)
301 Convenience method to get all error messages or worse.
303 return self.filter_from_level(ErrorLevels.ERROR)
305 def filter_from_warnings(self):
306 u"""filter_from_warnings(self)
308 Convenience method to get all warnings or worse.
310 return self.filter_from_level(ErrorLevels.WARNING)
312 cdef class _ErrorLog(_ListErrorLog):
314 _ListErrorLog.__init__(self, [], None, None)
316 cdef void connect(self):
317 self._first_error = None
319 connectErrorLog(<void*>self)
321 cdef void disconnect(self):
322 connectErrorLog(NULL)
325 self._first_error = None
329 u"""Creates a shallow copy of this error log and the list of entries.
331 return _ListErrorLog(self._entries[:], self._first_error,
335 return iter(self._entries[:])
337 def receive(self, entry):
338 if self._first_error is None:
339 self._first_error = entry
340 self._entries.append(entry)
342 cdef class _DomainErrorLog(_ErrorLog):
343 def __init__(self, domains):
344 _ErrorLog.__init__(self)
345 self._accepted_domains = tuple(domains)
347 def receive(self, entry):
348 if entry.domain in self._accepted_domains:
349 _ErrorLog.receive(self, entry)
351 cdef class _RotatingErrorLog(_ErrorLog):
353 def __init__(self, max_len):
354 _ErrorLog.__init__(self)
355 self._max_len = max_len
357 def receive(self, entry):
358 if python.PyList_GET_SIZE(self._entries) > self._max_len:
360 self._entries.append(entry)
362 cdef class PyErrorLog(_BaseErrorLog):
363 u"""PyErrorLog(self, logger_name=None)
364 A global error log that connects to the Python stdlib logging package.
366 The constructor accepts an optional logger name.
368 If you want to change the mapping between libxml2's ErrorLevels and Python
369 logging levels, you can modify the level_map dictionary from a subclass.
371 The default mapping is::
373 ErrorLevels.WARNING = logging.WARNING
374 ErrorLevels.ERROR = logging.ERROR
375 ErrorLevels.FATAL = logging.CRITICAL
377 You can also override the method ``receive()`` that takes a LogEntry
378 object and calls ``self.log(log_entry, format_string, arg1, arg2, ...)``
379 with appropriate data.
381 cdef readonly object level_map
382 cdef object _map_level
384 def __init__(self, logger_name=None):
385 _BaseErrorLog.__init__(self, None, None)
388 ErrorLevels.WARNING : logging.WARNING,
389 ErrorLevels.ERROR : logging.ERROR,
390 ErrorLevels.FATAL : logging.CRITICAL
392 self._map_level = self.level_map.get
394 logger = logging.getLogger(logger_name)
396 logger = logging.getLogger()
397 self._log = logger.log
400 u"""Dummy method that returns an empty error log.
402 return _ListErrorLog([], None, None)
404 def log(self, log_entry, message, *args):
405 u"""log(self, log_entry, message, *args)
407 Called by the .receive() method to log a _LogEntry instance to
408 the Python logging system. This handles the error level
411 In the default implementation, the ``message`` argument
412 receives a complete log line, and there are no further
413 ``args``. To change the message format, it is best to
414 override the .receive() method instead of this one.
417 self._map_level(log_entry.level, 0),
421 def receive(self, _LogEntry log_entry):
422 u"""receive(self, log_entry)
424 Receive a _LogEntry instance from the logging system. Calls
425 the .log() method with appropriate parameters::
427 self.log(log_entry, repr(log_entry))
429 You can override this method to provide your own log output
432 self.log(log_entry, repr(log_entry))
434 # thread-local, global list log to collect error output messages from
437 cdef _BaseErrorLog __GLOBAL_ERROR_LOG
438 __GLOBAL_ERROR_LOG = _RotatingErrorLog(__MAX_LOG_SIZE)
440 cdef _BaseErrorLog _getGlobalErrorLog():
441 u"""Retrieve the global error log of this thread."""
442 cdef python.PyObject* thread_dict
443 thread_dict = python.PyThreadState_GetDict()
444 if thread_dict is NULL:
445 return __GLOBAL_ERROR_LOG
447 return (<object>thread_dict)[u"_GlobalErrorLog"]
449 log = (<object>thread_dict)[u"_GlobalErrorLog"] = \
450 _RotatingErrorLog(__MAX_LOG_SIZE)
453 cdef _setGlobalErrorLog(_BaseErrorLog log):
454 u"""Set the global error log of this thread."""
455 cdef python.PyObject* thread_dict
456 thread_dict = python.PyThreadState_GetDict()
457 if thread_dict is NULL:
458 global __GLOBAL_ERROR_LOG
459 __GLOBAL_ERROR_LOG = log
461 (<object>thread_dict)[u"_GlobalErrorLog"] = log
463 cdef __copyGlobalErrorLog():
464 u"Helper function for properties in exceptions."
465 return _getGlobalErrorLog().copy()
467 def use_global_python_log(PyErrorLog log not None):
468 u"""use_global_python_log(log)
470 Replace the global error log by an etree.PyErrorLog that uses the
471 standard Python logging package.
473 Note that this disables access to the global error log from exceptions.
474 Parsers, XSLT etc. will continue to provide their normal local error log.
476 Note: prior to lxml 2.2, this changed the error log globally.
477 Since lxml 2.2, the global error log is local to a thread and this
478 function will only set the global error log of the current thread.
480 _setGlobalErrorLog(log)
483 # local log functions: forward error to logger object
484 cdef void _forwardError(void* c_log_handler, xmlerror.xmlError* error) with gil:
485 cdef _BaseErrorLog log_handler
486 if c_log_handler is not NULL:
487 log_handler = <_BaseErrorLog>c_log_handler
489 log_handler = _getGlobalErrorLog()
490 log_handler._receive(error)
492 cdef void _receiveError(void* c_log_handler, xmlerror.xmlError* error) nogil:
493 # no Python objects here, may be called without thread context !
494 # when we declare a Python object, Pyrex will INCREF(None) !
496 _forwardError(c_log_handler, error)
498 cdef void _receiveXSLTError(void* c_log_handler, char* msg, ...) nogil:
499 # no Python objects here, may be called without thread context !
500 # when we declare a Python object, Pyrex will INCREF(None) !
501 cdef xmlerror.xmlError c_error
502 cdef cstd.va_list args
506 cdef int i, text_size, element_size
507 if __DEBUG == 0 or msg is NULL:
509 if msg[0] == c'\n' or msg[0] == c'\0':
512 cstd.va_start(args, msg)
513 if msg[0] == c'%' and msg[1] == c's':
514 c_text = cstd.va_charptr(args)
517 if cstd.strstr(msg, 'file %s'):
518 c_error.file = cstd.va_charptr(args)
519 if c_error.file and \
520 cstd.strncmp(c_error.file,
521 'string://__STRING__XSLT', 23) == 0:
522 c_error.file = '<xslt>'
525 if cstd.strstr(msg, 'line %d'):
526 c_error.line = cstd.va_int(args)
529 if cstd.strstr(msg, 'element %s'):
530 c_element = cstd.va_charptr(args)
537 if c_element is not NULL and \
538 cstd.strchr(msg, c'%') == cstd.strrchr(msg, c'%'):
539 # special case: a single occurrence of 'element %s'
540 text_size = cstd.strlen(msg)
541 element_size = cstd.strlen(c_element)
542 c_message = <char*>cstd.malloc(
543 (text_size + element_size + 1) * sizeof(char))
544 cstd.sprintf(c_message, msg, c_element)
545 c_error.message = c_message
548 elif c_element is NULL:
549 c_error.message = c_text
551 text_size = cstd.strlen(c_text)
552 element_size = cstd.strlen(c_element)
553 c_message = <char*>cstd.malloc(
554 (text_size + 12 + element_size + 1) * sizeof(char))
555 cstd.sprintf(c_message, "%s, element '%s'", c_text, c_element)
556 c_error.message = c_message
558 c_error.domain = xmlerror.XML_FROM_XSLT
559 c_error.code = xmlerror.XML_ERR_OK # what else?
560 c_error.level = xmlerror.XML_ERR_ERROR # what else?
563 _forwardError(c_log_handler, &c_error)
565 if c_message is not NULL:
568 ################################################################################
569 ## CONSTANTS FROM "xmlerror.h" (or rather libxml-xmlerror.html)
570 ################################################################################
572 cdef void __initErrorConstants():
573 u"Called at setup time to parse the constants and build the classes below."
574 cdef dict reverse_dict
575 find_constants = re.compile(ur"\s*([a-zA-Z0-9_]+)\s*=\s*([0-9]+)").findall
576 const_defs = ((ErrorLevels, __ERROR_LEVELS),
577 (ErrorDomains, __ERROR_DOMAINS),
578 (ErrorTypes, __PARSER_ERROR_TYPES),
579 (RelaxNGErrorTypes, __RELAXNG_ERROR_TYPES))
580 for cls, constant_tuple in const_defs:
582 cls._names = reverse_dict
583 cls._getName = reverse_dict.get
584 for constants in constant_tuple:
585 #print len(constants) + 1
586 for name, value in find_constants(constants):
588 python.PyObject_SetAttr(cls, name, value)
589 reverse_dict[value] = name
593 u"Libxml2 error levels"
596 u"Libxml2 error domains"
599 u"Libxml2 error types"
601 class RelaxNGErrorTypes:
602 u"Libxml2 RelaxNG error types"
604 # --- BEGIN: GENERATED CONSTANTS ---
606 # This section is generated by the script 'update-error-constants.py'.
608 # Constants are stored in tuples of strings, for which Pyrex generates very
609 # efficient setup code. To parse them, iterate over the tuples and parse each
610 # line in each string independently. Tuples of strings (instead of a plain
611 # string) are required as some C-compilers of a certain well-known OS vendor
612 # cannot handle strings that are a few thousand bytes in length.
614 cdef object __ERROR_LEVELS
615 __ERROR_LEVELS = (u"""\
622 cdef object __ERROR_DOMAINS
623 __ERROR_DOMAINS = (u"""\
655 cdef object __PARSER_ERROR_TYPES
656 __PARSER_ERROR_TYPES = (u"""\
663 ERR_INVALID_HEX_CHARREF=6
664 ERR_INVALID_DEC_CHARREF=7
665 ERR_INVALID_CHARREF=8
667 ERR_CHARREF_AT_EOF=10
668 ERR_CHARREF_IN_PROLOG=11
669 ERR_CHARREF_IN_EPILOG=12
670 ERR_CHARREF_IN_DTD=13
671 ERR_ENTITYREF_AT_EOF=14
672 ERR_ENTITYREF_IN_PROLOG=15
673 ERR_ENTITYREF_IN_EPILOG=16
674 ERR_ENTITYREF_IN_DTD=17
676 ERR_PEREF_IN_PROLOG=19
677 ERR_PEREF_IN_EPILOG=20
678 ERR_PEREF_IN_INT_SUBSET=21
679 ERR_ENTITYREF_NO_NAME=22
680 ERR_ENTITYREF_SEMICOL_MISSING=23
682 ERR_PEREF_SEMICOL_MISSING=25
683 ERR_UNDECLARED_ENTITY=26
684 WAR_UNDECLARED_ENTITY=27
685 ERR_UNPARSED_ENTITY=28
686 ERR_ENTITY_IS_EXTERNAL=29
687 ERR_ENTITY_IS_PARAMETER=30
688 ERR_UNKNOWN_ENCODING=31
689 ERR_UNSUPPORTED_ENCODING=32
690 ERR_STRING_NOT_STARTED=33
691 ERR_STRING_NOT_CLOSED=34
693 ERR_ENTITY_NOT_STARTED=36
694 ERR_ENTITY_NOT_FINISHED=37
695 ERR_LT_IN_ATTRIBUTE=38
696 ERR_ATTRIBUTE_NOT_STARTED=39
697 ERR_ATTRIBUTE_NOT_FINISHED=40
698 ERR_ATTRIBUTE_WITHOUT_VALUE=41
699 ERR_ATTRIBUTE_REDEFINED=42
700 ERR_LITERAL_NOT_STARTED=43
701 ERR_LITERAL_NOT_FINISHED=44
702 ERR_COMMENT_NOT_FINISHED=45
703 ERR_PI_NOT_STARTED=46
704 ERR_PI_NOT_FINISHED=47
705 ERR_NOTATION_NOT_STARTED=48
706 ERR_NOTATION_NOT_FINISHED=49
707 ERR_ATTLIST_NOT_STARTED=50
708 ERR_ATTLIST_NOT_FINISHED=51
709 ERR_MIXED_NOT_STARTED=52
710 ERR_MIXED_NOT_FINISHED=53
711 ERR_ELEMCONTENT_NOT_STARTED=54
712 ERR_ELEMCONTENT_NOT_FINISHED=55
713 ERR_XMLDECL_NOT_STARTED=56
714 ERR_XMLDECL_NOT_FINISHED=57
715 ERR_CONDSEC_NOT_STARTED=58
716 ERR_CONDSEC_NOT_FINISHED=59
717 ERR_EXT_SUBSET_NOT_FINISHED=60
718 ERR_DOCTYPE_NOT_FINISHED=61
719 ERR_MISPLACED_CDATA_END=62
720 ERR_CDATA_NOT_FINISHED=63
721 ERR_RESERVED_XML_NAME=64
722 ERR_SPACE_REQUIRED=65
723 ERR_SEPARATOR_REQUIRED=66
724 ERR_NMTOKEN_REQUIRED=67
726 ERR_PCDATA_REQUIRED=69
728 ERR_PUBID_REQUIRED=71
731 ERR_LTSLASH_REQUIRED=74
732 ERR_EQUAL_REQUIRED=75
733 ERR_TAG_NAME_MISMATCH=76
734 ERR_TAG_NOT_FINISHED=77
735 ERR_STANDALONE_VALUE=78
739 ERR_HYPHEN_IN_COMMENT=80
740 ERR_INVALID_ENCODING=81
741 ERR_EXT_ENTITY_STANDALONE=82
742 ERR_CONDSEC_INVALID=83
743 ERR_VALUE_REQUIRED=84
744 ERR_NOT_WELL_BALANCED=85
746 ERR_ENTITY_CHAR_ERROR=87
747 ERR_ENTITY_PE_INTERNAL=88
749 ERR_ENTITY_BOUNDARY=90
754 ERR_CONDSEC_INVALID_KEYWORD=95
755 ERR_VERSION_MISSING=96
756 WAR_UNKNOWN_VERSION=97
759 WAR_NS_URI_RELATIVE=100
760 ERR_MISSING_ENCODING=101
762 ERR_NOT_STANDALONE=103
763 ERR_ENTITY_PROCESSING=104
764 ERR_NOTATION_PROCESSING=105
766 WAR_ENTITY_REDEFINED=107
767 ERR_UNKNOWN_VERSION=108
768 ERR_VERSION_MISMATCH=109
769 NS_ERR_XML_NAMESPACE=200
770 NS_ERR_UNDEFINED_NAMESPACE=201
772 NS_ERR_ATTRIBUTE_REDEFINED=203
775 DTD_ATTRIBUTE_DEFAULT=500
776 DTD_ATTRIBUTE_REDEFINED=501
777 DTD_ATTRIBUTE_VALUE=502
778 DTD_CONTENT_ERROR=503
779 DTD_CONTENT_MODEL=504
780 DTD_CONTENT_NOT_DETERMINIST=505
781 DTD_DIFFERENT_PREFIX=506
782 DTD_ELEM_DEFAULT_NAMESPACE=507
783 DTD_ELEM_NAMESPACE=508
784 DTD_ELEM_REDEFINED=509
785 DTD_EMPTY_NOTATION=510
790 DTD_INVALID_CHILD=515
791 DTD_INVALID_DEFAULT=516
793 DTD_MISSING_ATTRIBUTE=518
794 DTD_MIXED_CORRUPT=519
801 DTD_NOTATION_REDEFINED=526
802 DTD_NOTATION_VALUE=527
805 DTD_NOT_STANDALONE=530
807 DTD_STANDALONE_WHITE_SPACE=532
808 DTD_UNKNOWN_ATTRIBUTE=533
810 DTD_UNKNOWN_ENTITY=535
812 DTD_UNKNOWN_NOTATION=537
813 DTD_STANDALONE_DEFAULTED=538
817 HTML_STRUCURE_ERROR=800
819 RNGP_ANYNAME_ATTR_ANCESTOR=1000
820 RNGP_ATTR_CONFLICT=1001
821 RNGP_ATTRIBUTE_CHILDREN=1002
822 RNGP_ATTRIBUTE_CONTENT=1003
825 RNGP_ATTRIBUTE_EMPTY=1004
826 RNGP_ATTRIBUTE_NOOP=1005
827 RNGP_CHOICE_CONTENT=1006
828 RNGP_CHOICE_EMPTY=1007
829 RNGP_CREATE_FAILURE=1008
830 RNGP_DATA_CONTENT=1009
831 RNGP_DEF_CHOICE_AND_INTERLEAVE=1010
832 RNGP_DEFINE_CREATE_FAILED=1011
833 RNGP_DEFINE_EMPTY=1012
834 RNGP_DEFINE_MISSING=1013
835 RNGP_DEFINE_NAME_MISSING=1014
836 RNGP_ELEM_CONTENT_EMPTY=1015
837 RNGP_ELEM_CONTENT_ERROR=1016
838 RNGP_ELEMENT_EMPTY=1017
839 RNGP_ELEMENT_CONTENT=1018
840 RNGP_ELEMENT_NAME=1019
841 RNGP_ELEMENT_NO_CONTENT=1020
842 RNGP_ELEM_TEXT_CONFLICT=1021
844 RNGP_EMPTY_CONSTRUCT=1023
845 RNGP_EMPTY_CONTENT=1024
846 RNGP_EMPTY_NOT_EMPTY=1025
847 RNGP_ERROR_TYPE_LIB=1026
848 RNGP_EXCEPT_EMPTY=1027
849 RNGP_EXCEPT_MISSING=1028
850 RNGP_EXCEPT_MULTIPLE=1029
851 RNGP_EXCEPT_NO_CONTENT=1030
852 RNGP_EXTERNALREF_EMTPY=1031
853 RNGP_EXTERNAL_REF_FAILURE=1032
854 RNGP_EXTERNALREF_RECURSE=1033
855 RNGP_FORBIDDEN_ATTRIBUTE=1034
856 RNGP_FOREIGN_ELEMENT=1035
857 RNGP_GRAMMAR_CONTENT=1036
858 RNGP_GRAMMAR_EMPTY=1037
859 RNGP_GRAMMAR_MISSING=1038
860 RNGP_GRAMMAR_NO_START=1039
861 RNGP_GROUP_ATTR_CONFLICT=1040
863 RNGP_INCLUDE_EMPTY=1042
864 RNGP_INCLUDE_FAILURE=1043
865 RNGP_INCLUDE_RECURSE=1044
866 RNGP_INTERLEAVE_ADD=1045
867 RNGP_INTERLEAVE_CREATE_FAILED=1046
868 RNGP_INTERLEAVE_EMPTY=1047
869 RNGP_INTERLEAVE_NO_CONTENT=1048
870 RNGP_INVALID_DEFINE_NAME=1049
871 RNGP_INVALID_URI=1050
872 RNGP_INVALID_VALUE=1051
873 RNGP_MISSING_HREF=1052
874 RNGP_NAME_MISSING=1053
875 RNGP_NEED_COMBINE=1054
876 RNGP_NOTALLOWED_NOT_EMPTY=1055
877 RNGP_NSNAME_ATTR_ANCESTOR=1056
878 RNGP_NSNAME_NO_NS=1057
879 RNGP_PARAM_FORBIDDEN=1058
880 RNGP_PARAM_NAME_MISSING=1059
881 RNGP_PARENTREF_CREATE_FAILED=1060
882 RNGP_PARENTREF_NAME_INVALID=1061
883 RNGP_PARENTREF_NO_NAME=1062
884 RNGP_PARENTREF_NO_PARENT=1063
885 RNGP_PARENTREF_NOT_EMPTY=1064
886 RNGP_PARSE_ERROR=1065
887 RNGP_PAT_ANYNAME_EXCEPT_ANYNAME=1066
888 RNGP_PAT_ATTR_ATTR=1067
889 RNGP_PAT_ATTR_ELEM=1068
890 RNGP_PAT_DATA_EXCEPT_ATTR=1069
891 RNGP_PAT_DATA_EXCEPT_ELEM=1070
892 RNGP_PAT_DATA_EXCEPT_EMPTY=1071
893 RNGP_PAT_DATA_EXCEPT_GROUP=1072
894 RNGP_PAT_DATA_EXCEPT_INTERLEAVE=1073
895 RNGP_PAT_DATA_EXCEPT_LIST=1074
898 RNGP_PAT_DATA_EXCEPT_ONEMORE=1075
899 RNGP_PAT_DATA_EXCEPT_REF=1076
900 RNGP_PAT_DATA_EXCEPT_TEXT=1077
901 RNGP_PAT_LIST_ATTR=1078
902 RNGP_PAT_LIST_ELEM=1079
903 RNGP_PAT_LIST_INTERLEAVE=1080
904 RNGP_PAT_LIST_LIST=1081
905 RNGP_PAT_LIST_REF=1082
906 RNGP_PAT_LIST_TEXT=1083
907 RNGP_PAT_NSNAME_EXCEPT_ANYNAME=1084
908 RNGP_PAT_NSNAME_EXCEPT_NSNAME=1085
909 RNGP_PAT_ONEMORE_GROUP_ATTR=1086
910 RNGP_PAT_ONEMORE_INTERLEAVE_ATTR=1087
911 RNGP_PAT_START_ATTR=1088
912 RNGP_PAT_START_DATA=1089
913 RNGP_PAT_START_EMPTY=1090
914 RNGP_PAT_START_GROUP=1091
915 RNGP_PAT_START_INTERLEAVE=1092
916 RNGP_PAT_START_LIST=1093
917 RNGP_PAT_START_ONEMORE=1094
918 RNGP_PAT_START_TEXT=1095
919 RNGP_PAT_START_VALUE=1096
920 RNGP_PREFIX_UNDEFINED=1097
921 RNGP_REF_CREATE_FAILED=1098
923 RNGP_REF_NAME_INVALID=1100
925 RNGP_REF_NO_NAME=1102
926 RNGP_REF_NOT_EMPTY=1103
927 RNGP_START_CHOICE_AND_INTERLEAVE=1104
928 RNGP_START_CONTENT=1105
929 RNGP_START_EMPTY=1106
930 RNGP_START_MISSING=1107
931 RNGP_TEXT_EXPECTED=1108
932 RNGP_TEXT_HAS_CHILD=1109
933 RNGP_TYPE_MISSING=1110
934 RNGP_TYPE_NOT_FOUND=1111
936 RNGP_UNKNOWN_ATTRIBUTE=1113
937 RNGP_UNKNOWN_COMBINE=1114
938 RNGP_UNKNOWN_CONSTRUCT=1115
939 RNGP_UNKNOWN_TYPE_LIB=1116
940 RNGP_URI_FRAGMENT=1117
941 RNGP_URI_NOT_ABSOLUTE=1118
942 RNGP_VALUE_EMPTY=1119
943 RNGP_VALUE_NO_CONTENT=1120
946 XPATH_EXPRESSION_OK=1200
947 XPATH_NUMBER_ERROR=1201
948 XPATH_UNFINISHED_LITERAL_ERROR=1202
949 XPATH_START_LITERAL_ERROR=1203
950 XPATH_VARIABLE_REF_ERROR=1204
951 XPATH_UNDEF_VARIABLE_ERROR=1205
952 XPATH_INVALID_PREDICATE_ERROR=1206
953 XPATH_EXPR_ERROR=1207
954 XPATH_UNCLOSED_ERROR=1208
955 XPATH_UNKNOWN_FUNC_ERROR=1209
956 XPATH_INVALID_OPERAND=1210
957 XPATH_INVALID_TYPE=1211
958 XPATH_INVALID_ARITY=1212
959 XPATH_INVALID_CTXT_SIZE=1213
960 XPATH_INVALID_CTXT_POSITION=1214
961 XPATH_MEMORY_ERROR=1215
962 XPTR_SYNTAX_ERROR=1216
963 XPTR_RESOURCE_ERROR=1217
964 XPTR_SUB_RESOURCE_ERROR=1218
965 XPATH_UNDEF_PREFIX_ERROR=1219
966 XPATH_ENCODING_ERROR=1220
967 XPATH_INVALID_CHAR_ERROR=1221
968 TREE_INVALID_HEX=1300
969 TREE_INVALID_DEC=1301
970 TREE_UNTERMINATED_ENTITY=1302
975 SAVE_CHAR_INVALID=1401
977 SAVE_UNKNOWN_ENCODING=1403
978 REGEXP_COMPILE_ERROR=1450
1000 IO_ENAMETOOLONG=1521
1022 IO_NETWORK_ATTEMPT=1543
1031 IO_ECONNREFUSED=1552
1035 IO_EAFNOSUPPORT=1556
1036 XINCLUDE_RECURSION=1600
1037 XINCLUDE_PARSE_VALUE=1601
1038 XINCLUDE_ENTITY_DEF_MISMATCH=1602
1039 XINCLUDE_NO_HREF=1603
1040 XINCLUDE_NO_FALLBACK=1604
1041 XINCLUDE_HREF_URI=1605
1042 XINCLUDE_TEXT_FRAGMENT=1606
1043 XINCLUDE_TEXT_DOCUMENT=1607
1044 XINCLUDE_INVALID_CHAR=1608
1045 XINCLUDE_BUILD_FAILED=1609
1046 XINCLUDE_UNKNOWN_ENCODING=1610
1047 XINCLUDE_MULTIPLE_ROOT=1611
1048 XINCLUDE_XPTR_FAILED=1612
1049 XINCLUDE_XPTR_RESULT=1613
1050 XINCLUDE_INCLUDE_IN_INCLUDE=1614
1051 XINCLUDE_FALLBACKS_IN_INCLUDE=1615
1052 XINCLUDE_FALLBACK_NOT_IN_INCLUDE=1616
1053 XINCLUDE_DEPRECATED_NS=1617
1054 XINCLUDE_FRAGMENT_ID=1618
1055 CATALOG_MISSING_ATTR=1650
1056 CATALOG_ENTRY_BROKEN=1651
1057 CATALOG_PREFER_VALUE=1652
1058 CATALOG_NOT_CATALOG=1653
1059 CATALOG_RECURSION=1654
1060 SCHEMAP_PREFIX_UNDEFINED=1700
1061 SCHEMAP_ATTRFORMDEFAULT_VALUE=1701
1062 SCHEMAP_ATTRGRP_NONAME_NOREF=1702
1063 SCHEMAP_ATTR_NONAME_NOREF=1703
1064 SCHEMAP_COMPLEXTYPE_NONAME_NOREF=1704
1065 SCHEMAP_ELEMFORMDEFAULT_VALUE=1705
1066 SCHEMAP_ELEM_NONAME_NOREF=1706
1069 SCHEMAP_EXTENSION_NO_BASE=1707
1070 SCHEMAP_FACET_NO_VALUE=1708
1071 SCHEMAP_FAILED_BUILD_IMPORT=1709
1072 SCHEMAP_GROUP_NONAME_NOREF=1710
1073 SCHEMAP_IMPORT_NAMESPACE_NOT_URI=1711
1074 SCHEMAP_IMPORT_REDEFINE_NSNAME=1712
1075 SCHEMAP_IMPORT_SCHEMA_NOT_URI=1713
1076 SCHEMAP_INVALID_BOOLEAN=1714
1077 SCHEMAP_INVALID_ENUM=1715
1078 SCHEMAP_INVALID_FACET=1716
1079 SCHEMAP_INVALID_FACET_VALUE=1717
1080 SCHEMAP_INVALID_MAXOCCURS=1718
1081 SCHEMAP_INVALID_MINOCCURS=1719
1082 SCHEMAP_INVALID_REF_AND_SUBTYPE=1720
1083 SCHEMAP_INVALID_WHITE_SPACE=1721
1084 SCHEMAP_NOATTR_NOREF=1722
1085 SCHEMAP_NOTATION_NO_NAME=1723
1086 SCHEMAP_NOTYPE_NOREF=1724
1087 SCHEMAP_REF_AND_SUBTYPE=1725
1088 SCHEMAP_RESTRICTION_NONAME_NOREF=1726
1089 SCHEMAP_SIMPLETYPE_NONAME=1727
1090 SCHEMAP_TYPE_AND_SUBTYPE=1728
1091 SCHEMAP_UNKNOWN_ALL_CHILD=1729
1092 SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD=1730
1093 SCHEMAP_UNKNOWN_ATTR_CHILD=1731
1094 SCHEMAP_UNKNOWN_ATTRGRP_CHILD=1732
1095 SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP=1733
1096 SCHEMAP_UNKNOWN_BASE_TYPE=1734
1097 SCHEMAP_UNKNOWN_CHOICE_CHILD=1735
1098 SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD=1736
1099 SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD=1737
1100 SCHEMAP_UNKNOWN_ELEM_CHILD=1738
1101 SCHEMAP_UNKNOWN_EXTENSION_CHILD=1739
1102 SCHEMAP_UNKNOWN_FACET_CHILD=1740
1103 SCHEMAP_UNKNOWN_FACET_TYPE=1741
1104 SCHEMAP_UNKNOWN_GROUP_CHILD=1742
1105 SCHEMAP_UNKNOWN_IMPORT_CHILD=1743
1106 SCHEMAP_UNKNOWN_LIST_CHILD=1744
1107 SCHEMAP_UNKNOWN_NOTATION_CHILD=1745
1108 SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD=1746
1109 SCHEMAP_UNKNOWN_REF=1747
1110 SCHEMAP_UNKNOWN_RESTRICTION_CHILD=1748
1111 SCHEMAP_UNKNOWN_SCHEMAS_CHILD=1749
1112 SCHEMAP_UNKNOWN_SEQUENCE_CHILD=1750
1113 SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD=1751
1114 SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD=1752
1115 SCHEMAP_UNKNOWN_TYPE=1753
1116 SCHEMAP_UNKNOWN_UNION_CHILD=1754
1117 SCHEMAP_ELEM_DEFAULT_FIXED=1755
1118 SCHEMAP_REGEXP_INVALID=1756
1119 SCHEMAP_FAILED_LOAD=1757
1120 SCHEMAP_NOTHING_TO_PARSE=1758
1122 SCHEMAP_REDEFINED_GROUP=1760
1123 SCHEMAP_REDEFINED_TYPE=1761
1124 SCHEMAP_REDEFINED_ELEMENT=1762
1125 SCHEMAP_REDEFINED_ATTRGROUP=1763
1126 SCHEMAP_REDEFINED_ATTR=1764
1127 SCHEMAP_REDEFINED_NOTATION=1765
1128 SCHEMAP_FAILED_PARSE=1766
1129 SCHEMAP_UNKNOWN_PREFIX=1767
1132 SCHEMAP_DEF_AND_PREFIX=1768
1133 SCHEMAP_UNKNOWN_INCLUDE_CHILD=1769
1134 SCHEMAP_INCLUDE_SCHEMA_NOT_URI=1770
1135 SCHEMAP_INCLUDE_SCHEMA_NO_URI=1771
1136 SCHEMAP_NOT_SCHEMA=1772
1137 SCHEMAP_UNKNOWN_MEMBER_TYPE=1773
1138 SCHEMAP_INVALID_ATTR_USE=1774
1139 SCHEMAP_RECURSIVE=1775
1140 SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE=1776
1141 SCHEMAP_INVALID_ATTR_COMBINATION=1777
1142 SCHEMAP_INVALID_ATTR_INLINE_COMBINATION=1778
1143 SCHEMAP_MISSING_SIMPLETYPE_CHILD=1779
1144 SCHEMAP_INVALID_ATTR_NAME=1780
1145 SCHEMAP_REF_AND_CONTENT=1781
1146 SCHEMAP_CT_PROPS_CORRECT_1=1782
1147 SCHEMAP_CT_PROPS_CORRECT_2=1783
1148 SCHEMAP_CT_PROPS_CORRECT_3=1784
1149 SCHEMAP_CT_PROPS_CORRECT_4=1785
1150 SCHEMAP_CT_PROPS_CORRECT_5=1786
1151 SCHEMAP_DERIVATION_OK_RESTRICTION_1=1787
1152 SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1=1788
1153 SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2=1789
1154 SCHEMAP_DERIVATION_OK_RESTRICTION_2_2=1790
1155 SCHEMAP_DERIVATION_OK_RESTRICTION_3=1791
1156 SCHEMAP_WILDCARD_INVALID_NS_MEMBER=1792
1157 SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE=1793
1158 SCHEMAP_UNION_NOT_EXPRESSIBLE=1794
1159 SCHEMAP_SRC_IMPORT_3_1=1795
1160 SCHEMAP_SRC_IMPORT_3_2=1796
1161 SCHEMAP_DERIVATION_OK_RESTRICTION_4_1=1797
1162 SCHEMAP_DERIVATION_OK_RESTRICTION_4_2=1798
1163 SCHEMAP_DERIVATION_OK_RESTRICTION_4_3=1799
1164 SCHEMAP_COS_CT_EXTENDS_1_3=1800
1166 SCHEMAV_UNDECLAREDELEM=1802
1167 SCHEMAV_NOTTOPLEVEL=1803
1168 SCHEMAV_MISSING=1804
1169 SCHEMAV_WRONGELEM=1805
1171 SCHEMAV_NOROLLBACK=1807
1172 SCHEMAV_ISABSTRACT=1808
1173 SCHEMAV_NOTEMPTY=1809
1174 SCHEMAV_ELEMCONT=1810
1175 SCHEMAV_HAVEDEFAULT=1811
1176 SCHEMAV_NOTNILLABLE=1812
1177 SCHEMAV_EXTRACONTENT=1813
1178 SCHEMAV_INVALIDATTR=1814
1179 SCHEMAV_INVALIDELEM=1815
1180 SCHEMAV_NOTDETERMINIST=1816
1181 SCHEMAV_CONSTRUCT=1817
1182 SCHEMAV_INTERNAL=1818
1183 SCHEMAV_NOTSIMPLE=1819
1184 SCHEMAV_ATTRUNKNOWN=1820
1185 SCHEMAV_ATTRINVALID=1821
1188 SCHEMAV_CVC_DATATYPE_VALID_1_2_1=1824
1189 SCHEMAV_CVC_DATATYPE_VALID_1_2_2=1825
1190 SCHEMAV_CVC_DATATYPE_VALID_1_2_3=1826
1191 SCHEMAV_CVC_TYPE_3_1_1=1827
1192 SCHEMAV_CVC_TYPE_3_1_2=1828
1193 SCHEMAV_CVC_FACET_VALID=1829
1194 SCHEMAV_CVC_LENGTH_VALID=1830
1197 SCHEMAV_CVC_MINLENGTH_VALID=1831
1198 SCHEMAV_CVC_MAXLENGTH_VALID=1832
1199 SCHEMAV_CVC_MININCLUSIVE_VALID=1833
1200 SCHEMAV_CVC_MAXINCLUSIVE_VALID=1834
1201 SCHEMAV_CVC_MINEXCLUSIVE_VALID=1835
1202 SCHEMAV_CVC_MAXEXCLUSIVE_VALID=1836
1203 SCHEMAV_CVC_TOTALDIGITS_VALID=1837
1204 SCHEMAV_CVC_FRACTIONDIGITS_VALID=1838
1205 SCHEMAV_CVC_PATTERN_VALID=1839
1206 SCHEMAV_CVC_ENUMERATION_VALID=1840
1207 SCHEMAV_CVC_COMPLEX_TYPE_2_1=1841
1208 SCHEMAV_CVC_COMPLEX_TYPE_2_2=1842
1209 SCHEMAV_CVC_COMPLEX_TYPE_2_3=1843
1210 SCHEMAV_CVC_COMPLEX_TYPE_2_4=1844
1211 SCHEMAV_CVC_ELT_1=1845
1212 SCHEMAV_CVC_ELT_2=1846
1213 SCHEMAV_CVC_ELT_3_1=1847
1214 SCHEMAV_CVC_ELT_3_2_1=1848
1215 SCHEMAV_CVC_ELT_3_2_2=1849
1216 SCHEMAV_CVC_ELT_4_1=1850
1217 SCHEMAV_CVC_ELT_4_2=1851
1218 SCHEMAV_CVC_ELT_4_3=1852
1219 SCHEMAV_CVC_ELT_5_1_1=1853
1220 SCHEMAV_CVC_ELT_5_1_2=1854
1221 SCHEMAV_CVC_ELT_5_2_1=1855
1222 SCHEMAV_CVC_ELT_5_2_2_1=1856
1223 SCHEMAV_CVC_ELT_5_2_2_2_1=1857
1224 SCHEMAV_CVC_ELT_5_2_2_2_2=1858
1225 SCHEMAV_CVC_ELT_6=1859
1226 SCHEMAV_CVC_ELT_7=1860
1227 SCHEMAV_CVC_ATTRIBUTE_1=1861
1228 SCHEMAV_CVC_ATTRIBUTE_2=1862
1229 SCHEMAV_CVC_ATTRIBUTE_3=1863
1230 SCHEMAV_CVC_ATTRIBUTE_4=1864
1231 SCHEMAV_CVC_COMPLEX_TYPE_3_1=1865
1232 SCHEMAV_CVC_COMPLEX_TYPE_3_2_1=1866
1233 SCHEMAV_CVC_COMPLEX_TYPE_3_2_2=1867
1234 SCHEMAV_CVC_COMPLEX_TYPE_4=1868
1235 SCHEMAV_CVC_COMPLEX_TYPE_5_1=1869
1236 SCHEMAV_CVC_COMPLEX_TYPE_5_2=1870
1237 SCHEMAV_ELEMENT_CONTENT=1871
1238 SCHEMAV_DOCUMENT_ELEMENT_MISSING=1872
1239 SCHEMAV_CVC_COMPLEX_TYPE_1=1873
1241 SCHEMAV_CVC_TYPE_1=1875
1242 SCHEMAV_CVC_TYPE_2=1876
1243 SCHEMAV_CVC_IDC=1877
1244 SCHEMAV_CVC_WILDCARD=1878
1246 XPTR_UNKNOWN_SCHEME=1900
1247 XPTR_CHILDSEQ_START=1901
1248 XPTR_EVAL_FAILED=1902
1249 XPTR_EXTRA_OBJECTS=1903
1250 C14N_CREATE_CTXT=1950
1251 C14N_REQUIRES_UTF8=1951
1252 C14N_CREATE_STACK=1952
1253 C14N_INVALID_NODE=1953
1254 C14N_UNKNOW_NODE=1954
1255 C14N_RELATIVE_NAMESPACE=1955
1256 FTP_PASV_ANSWER=2000
1257 FTP_EPSV_ANSWER=2001
1260 HTTP_URL_SYNTAX=2020
1262 HTTP_UNKNOWN_HOST=2022
1263 SCHEMAP_SRC_SIMPLE_TYPE_1=3000
1264 SCHEMAP_SRC_SIMPLE_TYPE_2=3001
1265 SCHEMAP_SRC_SIMPLE_TYPE_3=3002
1266 SCHEMAP_SRC_SIMPLE_TYPE_4=3003
1269 SCHEMAP_SRC_RESOLVE=3004
1270 SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE=3005
1271 SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE=3006
1272 SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES=3007
1273 SCHEMAP_ST_PROPS_CORRECT_1=3008
1274 SCHEMAP_ST_PROPS_CORRECT_2=3009
1275 SCHEMAP_ST_PROPS_CORRECT_3=3010
1276 SCHEMAP_COS_ST_RESTRICTS_1_1=3011
1277 SCHEMAP_COS_ST_RESTRICTS_1_2=3012
1278 SCHEMAP_COS_ST_RESTRICTS_1_3_1=3013
1279 SCHEMAP_COS_ST_RESTRICTS_1_3_2=3014
1280 SCHEMAP_COS_ST_RESTRICTS_2_1=3015
1281 SCHEMAP_COS_ST_RESTRICTS_2_3_1_1=3016
1282 SCHEMAP_COS_ST_RESTRICTS_2_3_1_2=3017
1283 SCHEMAP_COS_ST_RESTRICTS_2_3_2_1=3018
1284 SCHEMAP_COS_ST_RESTRICTS_2_3_2_2=3019
1285 SCHEMAP_COS_ST_RESTRICTS_2_3_2_3=3020
1286 SCHEMAP_COS_ST_RESTRICTS_2_3_2_4=3021
1287 SCHEMAP_COS_ST_RESTRICTS_2_3_2_5=3022
1288 SCHEMAP_COS_ST_RESTRICTS_3_1=3023
1289 SCHEMAP_COS_ST_RESTRICTS_3_3_1=3024
1290 SCHEMAP_COS_ST_RESTRICTS_3_3_1_2=3025
1291 SCHEMAP_COS_ST_RESTRICTS_3_3_2_2=3026
1292 SCHEMAP_COS_ST_RESTRICTS_3_3_2_1=3027
1293 SCHEMAP_COS_ST_RESTRICTS_3_3_2_3=3028
1294 SCHEMAP_COS_ST_RESTRICTS_3_3_2_4=3029
1295 SCHEMAP_COS_ST_RESTRICTS_3_3_2_5=3030
1296 SCHEMAP_COS_ST_DERIVED_OK_2_1=3031
1297 SCHEMAP_COS_ST_DERIVED_OK_2_2=3032
1298 SCHEMAP_S4S_ELEM_NOT_ALLOWED=3033
1299 SCHEMAP_S4S_ELEM_MISSING=3034
1300 SCHEMAP_S4S_ATTR_NOT_ALLOWED=3035
1301 SCHEMAP_S4S_ATTR_MISSING=3036
1302 SCHEMAP_S4S_ATTR_INVALID_VALUE=3037
1303 SCHEMAP_SRC_ELEMENT_1=3038
1304 SCHEMAP_SRC_ELEMENT_2_1=3039
1305 SCHEMAP_SRC_ELEMENT_2_2=3040
1306 SCHEMAP_SRC_ELEMENT_3=3041
1307 SCHEMAP_P_PROPS_CORRECT_1=3042
1308 SCHEMAP_P_PROPS_CORRECT_2_1=3043
1309 SCHEMAP_P_PROPS_CORRECT_2_2=3044
1310 SCHEMAP_E_PROPS_CORRECT_2=3045
1311 SCHEMAP_E_PROPS_CORRECT_3=3046
1312 SCHEMAP_E_PROPS_CORRECT_4=3047
1313 SCHEMAP_E_PROPS_CORRECT_5=3048
1314 SCHEMAP_E_PROPS_CORRECT_6=3049
1315 SCHEMAP_SRC_INCLUDE=3050
1316 SCHEMAP_SRC_ATTRIBUTE_1=3051
1317 SCHEMAP_SRC_ATTRIBUTE_2=3052
1318 SCHEMAP_SRC_ATTRIBUTE_3_1=3053
1319 SCHEMAP_SRC_ATTRIBUTE_3_2=3054
1320 SCHEMAP_SRC_ATTRIBUTE_4=3055
1321 SCHEMAP_NO_XMLNS=3056
1323 SCHEMAP_COS_VALID_DEFAULT_1=3058
1324 SCHEMAP_COS_VALID_DEFAULT_2_1=3059
1325 SCHEMAP_COS_VALID_DEFAULT_2_2_1=3060
1326 SCHEMAP_COS_VALID_DEFAULT_2_2_2=3061
1329 SCHEMAP_CVC_SIMPLE_TYPE=3062
1330 SCHEMAP_COS_CT_EXTENDS_1_1=3063
1331 SCHEMAP_SRC_IMPORT_1_1=3064
1332 SCHEMAP_SRC_IMPORT_1_2=3065
1333 SCHEMAP_SRC_IMPORT_2=3066
1334 SCHEMAP_SRC_IMPORT_2_1=3067
1335 SCHEMAP_SRC_IMPORT_2_2=3068
1336 SCHEMAP_INTERNAL=3069
1337 SCHEMAP_NOT_DETERMINISTIC=3070
1338 SCHEMAP_SRC_ATTRIBUTE_GROUP_1=3071
1339 SCHEMAP_SRC_ATTRIBUTE_GROUP_2=3072
1340 SCHEMAP_SRC_ATTRIBUTE_GROUP_3=3073
1341 SCHEMAP_MG_PROPS_CORRECT_1=3074
1342 SCHEMAP_MG_PROPS_CORRECT_2=3075
1343 SCHEMAP_SRC_CT_1=3076
1344 SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3=3077
1345 SCHEMAP_AU_PROPS_CORRECT_2=3078
1346 SCHEMAP_A_PROPS_CORRECT_2=3079
1347 SCHEMAP_C_PROPS_CORRECT=3080
1348 SCHEMAP_SRC_REDEFINE=3081
1349 SCHEMAP_SRC_IMPORT=3082
1350 SCHEMAP_WARN_SKIP_SCHEMA=3083
1351 SCHEMAP_WARN_UNLOCATED_SCHEMA=3084
1352 SCHEMAP_WARN_ATTR_REDECL_PROH=3085
1353 SCHEMAP_WARN_ATTR_POINTLESS_PROH=3086
1354 SCHEMAP_AG_PROPS_CORRECT=3087
1355 SCHEMAP_COS_CT_EXTENDS_1_2=3088
1356 SCHEMAP_AU_PROPS_CORRECT=3089
1357 SCHEMAP_A_PROPS_CORRECT_3=3090
1358 SCHEMAP_COS_ALL_LIMITED=3091
1359 SCHEMATRONV_ASSERT=4000
1360 SCHEMATRONV_REPORT=4001
1363 CHECK_FOUND_ELEMENT=5000
1364 CHECK_FOUND_ATTRIBUTE=5001
1365 CHECK_FOUND_TEXT=5002
1366 CHECK_FOUND_CDATA=5003
1367 CHECK_FOUND_ENTITYREF=5004
1368 CHECK_FOUND_ENTITY=5005
1370 CHECK_FOUND_COMMENT=5007
1371 CHECK_FOUND_DOCTYPE=5008
1372 CHECK_FOUND_FRAGMENT=5009
1373 CHECK_FOUND_NOTATION=5010
1374 CHECK_UNKNOWN_NODE=5011
1375 CHECK_ENTITY_TYPE=5012
1376 CHECK_NO_PARENT=5013
1380 CHECK_WRONG_DOC=5017
1382 CHECK_WRONG_PREV=5019
1384 CHECK_WRONG_NEXT=5021
1387 CHECK_NOT_ATTR_DECL=5024
1388 CHECK_NOT_ELEM_DECL=5025
1389 CHECK_NOT_ENTITY_DECL=5026
1390 CHECK_NOT_NS_DECL=5027
1392 CHECK_WRONG_PARENT=5029
1394 CHECK_NS_ANCESTOR=5031
1397 CHECK_NOT_NCNAME=5034
1398 CHECK_OUTSIDE_DICT=5035
1399 CHECK_WRONG_NAME=5036
1400 CHECK_NAME_NOT_NULL=5037
1402 I18N_NO_HANDLER=6001
1403 I18N_EXCESS_HANDLER=6002
1404 I18N_CONV_FAILED=6003
1412 cdef object __RELAXNG_ERROR_TYPES
1413 __RELAXNG_ERROR_TYPES = (u"""\
1415 RELAXNG_ERR_MEMORY=1
1417 RELAXNG_ERR_TYPEVAL=3
1419 RELAXNG_ERR_TYPECMP=5
1420 RELAXNG_ERR_NOSTATE=6
1421 RELAXNG_ERR_NODEFINE=7
1422 RELAXNG_ERR_LISTEXTRA=8
1423 RELAXNG_ERR_LISTEMPTY=9
1424 RELAXNG_ERR_INTERNODATA=10
1425 RELAXNG_ERR_INTERSEQ=11
1426 RELAXNG_ERR_INTEREXTRA=12
1427 RELAXNG_ERR_ELEMNAME=13
1428 RELAXNG_ERR_ATTRNAME=14
1429 RELAXNG_ERR_ELEMNONS=15
1430 RELAXNG_ERR_ATTRNONS=16
1431 RELAXNG_ERR_ELEMWRONGNS=17
1432 RELAXNG_ERR_ATTRWRONGNS=18
1433 RELAXNG_ERR_ELEMEXTRANS=19
1434 RELAXNG_ERR_ATTREXTRANS=20
1435 RELAXNG_ERR_ELEMNOTEMPTY=21
1436 RELAXNG_ERR_NOELEM=22
1437 RELAXNG_ERR_NOTELEM=23
1438 RELAXNG_ERR_ATTRVALID=24
1439 RELAXNG_ERR_CONTENTVALID=25
1440 RELAXNG_ERR_EXTRACONTENT=26
1441 RELAXNG_ERR_INVALIDATTR=27
1442 RELAXNG_ERR_DATAELEM=28
1443 RELAXNG_ERR_VALELEM=29
1444 RELAXNG_ERR_LISTELEM=30
1445 RELAXNG_ERR_DATATYPE=31
1446 RELAXNG_ERR_VALUE=32
1448 RELAXNG_ERR_NOGRAMMAR=34
1449 RELAXNG_ERR_EXTRADATA=35
1450 RELAXNG_ERR_LACKDATA=36
1451 RELAXNG_ERR_INTERNAL=37
1452 RELAXNG_ERR_ELEMWRONG=38
1453 RELAXNG_ERR_TEXTWRONG=39
1455 # --- END: GENERATED CONSTANTS ---
1457 __initErrorConstants()