blob: e7edb5c70022b346a8ca6f983a5e4e0159508a0d [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 */
138 XML_ERR_NO_DTD /* 94 */
Owen Taylor3473f882001-02-23 17:55:21 +0000139}xmlParserErrors;
140
Daniel Veillard9d06d302002-01-22 18:15:52 +0000141/**
142 * xmlGenericErrorFunc:
143 * @ctx: a parsing context
144 * @msg: the message
145 * @...: the extra arguments of the varags to format the message
146 *
Owen Taylor3473f882001-02-23 17:55:21 +0000147 * Signature of the function to use when there is an error and
148 * no parsing or validity context available
149 */
Daniel Veillard9d06d302002-01-22 18:15:52 +0000150typedef void (*xmlGenericErrorFunc) (void *ctx,
151 const char *msg,
152 ...);
Owen Taylor3473f882001-02-23 17:55:21 +0000153
154/*
Daniel Veillardd0463562001-10-13 09:15:48 +0000155 * Use the following function to reset the two global variables
156 * xmlGenericError and xmlGenericErrorContext.
Owen Taylor3473f882001-02-23 17:55:21 +0000157 */
158void xmlSetGenericErrorFunc (void *ctx,
159 xmlGenericErrorFunc handler);
Daniel Veillardd0463562001-10-13 09:15:48 +0000160void initGenericErrorDefaultFunc(xmlGenericErrorFunc *handler);
Owen Taylor3473f882001-02-23 17:55:21 +0000161
162/*
163 * Default message routines used by SAX and Valid context for error
164 * and warning reporting
165 */
166void xmlParserError (void *ctx,
167 const char *msg,
168 ...);
169void xmlParserWarning (void *ctx,
170 const char *msg,
171 ...);
172void xmlParserValidityError (void *ctx,
173 const char *msg,
174 ...);
175void xmlParserValidityWarning(void *ctx,
176 const char *msg,
177 ...);
178void xmlParserPrintFileInfo (xmlParserInputPtr input);
179void xmlParserPrintFileContext(xmlParserInputPtr input);
180
181#ifdef __cplusplus
182}
183#endif
184#endif /* __XML_ERROR_H__ */