blob: 2b74b1d78f0ec0299165f4fffe3725c3f0b5b059 [file] [log] [blame]
Daniel Veillarda11001b2001-11-12 22:45:36 +00001#include <libxml/parser.h>
2
Owen Taylor3473f882001-02-23 17:55:21 +00003#ifndef __XML_ERROR_H__
4#define __XML_ERROR_H__
5
Owen Taylor3473f882001-02-23 17:55:21 +00006#ifdef __cplusplus
7extern "C" {
8#endif
9
10typedef enum {
11 XML_ERR_OK = 0,
12 XML_ERR_INTERNAL_ERROR,
13 XML_ERR_NO_MEMORY,
14
15 XML_ERR_DOCUMENT_START, /* 3 */
16 XML_ERR_DOCUMENT_EMPTY,
17 XML_ERR_DOCUMENT_END,
18
19 XML_ERR_INVALID_HEX_CHARREF, /* 6 */
20 XML_ERR_INVALID_DEC_CHARREF,
21 XML_ERR_INVALID_CHARREF,
22 XML_ERR_INVALID_CHAR,
23
24 XML_ERR_CHARREF_AT_EOF, /* 10 */
25 XML_ERR_CHARREF_IN_PROLOG,
26 XML_ERR_CHARREF_IN_EPILOG,
27 XML_ERR_CHARREF_IN_DTD,
28 XML_ERR_ENTITYREF_AT_EOF,
29 XML_ERR_ENTITYREF_IN_PROLOG,
30 XML_ERR_ENTITYREF_IN_EPILOG,
31 XML_ERR_ENTITYREF_IN_DTD,
32 XML_ERR_PEREF_AT_EOF,
33 XML_ERR_PEREF_IN_PROLOG,
34 XML_ERR_PEREF_IN_EPILOG,
35 XML_ERR_PEREF_IN_INT_SUBSET,
36
37 XML_ERR_ENTITYREF_NO_NAME, /* 22 */
38 XML_ERR_ENTITYREF_SEMICOL_MISSING,
39
40 XML_ERR_PEREF_NO_NAME, /* 24 */
41 XML_ERR_PEREF_SEMICOL_MISSING,
42
43 XML_ERR_UNDECLARED_ENTITY, /* 26 */
44 XML_WAR_UNDECLARED_ENTITY,
45 XML_ERR_UNPARSED_ENTITY,
46 XML_ERR_ENTITY_IS_EXTERNAL,
47 XML_ERR_ENTITY_IS_PARAMETER,
48
49 XML_ERR_UNKNOWN_ENCODING, /* 31 */
50 XML_ERR_UNSUPPORTED_ENCODING,
51
52 XML_ERR_STRING_NOT_STARTED, /* 33 */
53 XML_ERR_STRING_NOT_CLOSED,
54 XML_ERR_NS_DECL_ERROR,
55
56 XML_ERR_ENTITY_NOT_STARTED, /* 36 */
57 XML_ERR_ENTITY_NOT_FINISHED,
58
59 XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
60 XML_ERR_ATTRIBUTE_NOT_STARTED,
61 XML_ERR_ATTRIBUTE_NOT_FINISHED,
62 XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
63 XML_ERR_ATTRIBUTE_REDEFINED,
64
65 XML_ERR_LITERAL_NOT_STARTED, /* 43 */
66 XML_ERR_LITERAL_NOT_FINISHED,
67
68 XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
69
70 XML_ERR_PI_NOT_STARTED, /* 47 */
71 XML_ERR_PI_NOT_FINISHED,
72
73 XML_ERR_NOTATION_NOT_STARTED, /* 49 */
74 XML_ERR_NOTATION_NOT_FINISHED,
75
76 XML_ERR_ATTLIST_NOT_STARTED, /* 51 */
77 XML_ERR_ATTLIST_NOT_FINISHED,
78
79 XML_ERR_MIXED_NOT_STARTED, /* 53 */
80 XML_ERR_MIXED_NOT_FINISHED,
81
82 XML_ERR_ELEMCONTENT_NOT_STARTED, /* 55 */
83 XML_ERR_ELEMCONTENT_NOT_FINISHED,
84
85 XML_ERR_XMLDECL_NOT_STARTED, /* 57 */
86 XML_ERR_XMLDECL_NOT_FINISHED,
87
88 XML_ERR_CONDSEC_NOT_STARTED, /* 59 */
89 XML_ERR_CONDSEC_NOT_FINISHED,
90
91 XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 61 */
92
93 XML_ERR_DOCTYPE_NOT_FINISHED, /* 62 */
94
95 XML_ERR_MISPLACED_CDATA_END, /* 63 */
96 XML_ERR_CDATA_NOT_FINISHED,
97
98 XML_ERR_RESERVED_XML_NAME, /* 65 */
99
100 XML_ERR_SPACE_REQUIRED, /* 66 */
101 XML_ERR_SEPARATOR_REQUIRED,
102 XML_ERR_NMTOKEN_REQUIRED,
103 XML_ERR_NAME_REQUIRED,
104 XML_ERR_PCDATA_REQUIRED,
105 XML_ERR_URI_REQUIRED,
106 XML_ERR_PUBID_REQUIRED,
107 XML_ERR_LT_REQUIRED,
108 XML_ERR_GT_REQUIRED,
109 XML_ERR_LTSLASH_REQUIRED,
110 XML_ERR_EQUAL_REQUIRED,
111
112 XML_ERR_TAG_NAME_MISMATCH, /* 77 */
Daniel Veillard5344c602001-12-31 16:37:34 +0000113 XML_ERR_TAG_NOT_FINISHED,
Owen Taylor3473f882001-02-23 17:55:21 +0000114
115 XML_ERR_STANDALONE_VALUE, /* 79 */
116
117 XML_ERR_ENCODING_NAME, /* 80 */
118
119 XML_ERR_HYPHEN_IN_COMMENT, /* 81 */
120
121 XML_ERR_INVALID_ENCODING, /* 82 */
122
123 XML_ERR_EXT_ENTITY_STANDALONE, /* 83 */
124
125 XML_ERR_CONDSEC_INVALID, /* 84 */
126
127 XML_ERR_VALUE_REQUIRED, /* 85 */
128
129 XML_ERR_NOT_WELL_BALANCED, /* 86 */
130 XML_ERR_EXTRA_CONTENT, /* 87 */
131 XML_ERR_ENTITY_CHAR_ERROR, /* 88 */
132 XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
133 XML_ERR_ENTITY_LOOP, /* 89 */
134 XML_ERR_ENTITY_BOUNDARY, /* 90 */
135 XML_ERR_INVALID_URI, /* 91 */
Daniel Veillard5d90b6c2001-08-22 14:29:45 +0000136 XML_ERR_URI_FRAGMENT, /* 92 */
Daniel Veillard7a51d6d2001-09-10 14:40:43 +0000137 XML_WAR_CATALOG_PI, /* 93 */
Daniel Veillard3b7840c2003-09-11 23:42:01 +0000138 XML_ERR_NO_DTD, /* 94 */
139 XML_NS_ERR_XML_NAMESPACE,
140 XML_NS_ERR_UNDEFINED_NAMESPACE,
141 XML_NS_ERR_QNAME,
142 XML_NS_ERR_ATTRIBUTE_REDEFINED
143} xmlParserErrors;
Owen Taylor3473f882001-02-23 17:55:21 +0000144
Daniel Veillard9d06d302002-01-22 18:15:52 +0000145/**
146 * xmlGenericErrorFunc:
147 * @ctx: a parsing context
148 * @msg: the message
149 * @...: the extra arguments of the varags to format the message
150 *
Owen Taylor3473f882001-02-23 17:55:21 +0000151 * Signature of the function to use when there is an error and
Daniel Veillard61f26172002-03-12 18:46:39 +0000152 * no parsing or validity context available .
Owen Taylor3473f882001-02-23 17:55:21 +0000153 */
Daniel Veillard9d06d302002-01-22 18:15:52 +0000154typedef void (*xmlGenericErrorFunc) (void *ctx,
155 const char *msg,
156 ...);
Owen Taylor3473f882001-02-23 17:55:21 +0000157
158/*
Daniel Veillardd0463562001-10-13 09:15:48 +0000159 * Use the following function to reset the two global variables
160 * xmlGenericError and xmlGenericErrorContext.
Owen Taylor3473f882001-02-23 17:55:21 +0000161 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000162XMLPUBFUN void XMLCALL
163 xmlSetGenericErrorFunc (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000164 xmlGenericErrorFunc handler);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000165XMLPUBFUN void XMLCALL
166 initGenericErrorDefaultFunc (xmlGenericErrorFunc *handler);
Owen Taylor3473f882001-02-23 17:55:21 +0000167
168/*
169 * Default message routines used by SAX and Valid context for error
Daniel Veillard61f26172002-03-12 18:46:39 +0000170 * and warning reporting.
Owen Taylor3473f882001-02-23 17:55:21 +0000171 */
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000172XMLPUBFUN void XMLCALL
173 xmlParserError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000174 const char *msg,
175 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000176XMLPUBFUN void XMLCALL
177 xmlParserWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000178 const char *msg,
179 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000180XMLPUBFUN void XMLCALL
181 xmlParserValidityError (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000182 const char *msg,
183 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000184XMLPUBFUN void XMLCALL
185 xmlParserValidityWarning (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +0000186 const char *msg,
187 ...);
Igor Zlatkovicaa3cfbd2003-08-27 08:59:58 +0000188XMLPUBFUN void XMLCALL
189 xmlParserPrintFileInfo (xmlParserInputPtr input);
190XMLPUBFUN void XMLCALL
191 xmlParserPrintFileContext (xmlParserInputPtr input);
Owen Taylor3473f882001-02-23 17:55:21 +0000192
193#ifdef __cplusplus
194}
195#endif
196#endif /* __XML_ERROR_H__ */