Apache HTTPD
handlers.h
Go to the documentation of this file.
1/* XML handler functions for the Expat test suite
2 __ __ _
3 ___\ \/ /_ __ __ _| |_
4 / _ \\ /| '_ \ / _` | __|
5 | __// \| |_) | (_| | |_
6 \___/_/\_\ .__/ \__,_|\__|
7 |_| XML parser
8
9 Copyright (c) 2001-2006 Fred L. Drake, Jr. <[email protected]>
10 Copyright (c) 2003 Greg Stein <[email protected]>
11 Copyright (c) 2005-2007 Steven Solie <[email protected]>
12 Copyright (c) 2005-2012 Karl Waclawek <[email protected]>
13 Copyright (c) 2016-2024 Sebastian Pipping <[email protected]>
14 Copyright (c) 2017-2022 Rhodri James <[email protected]>
15 Copyright (c) 2017 Joe Orton <[email protected]>
16 Copyright (c) 2017 José Gutiérrez de la Concha <[email protected]>
17 Copyright (c) 2018 Marco Maggi <[email protected]>
18 Copyright (c) 2019 David Loffredo <[email protected]>
19 Copyright (c) 2020 Tim Gates <[email protected]>
20 Copyright (c) 2021 Donghee Na <[email protected]>
21 Copyright (c) 2023 Sony Corporation / Snild Dolkow <[email protected]>
22 Licensed under the MIT license:
23
24 Permission is hereby granted, free of charge, to any person obtaining
25 a copy of this software and associated documentation files (the
26 "Software"), to deal in the Software without restriction, including
27 without limitation the rights to use, copy, modify, merge, publish,
28 distribute, sublicense, and/or sell copies of the Software, and to permit
29 persons to whom the Software is furnished to do so, subject to the
30 following conditions:
31
32 The above copyright notice and this permission notice shall be included
33 in all copies or substantial portions of the Software.
34
35 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
37 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
38 NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
39 DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
40 OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
41 USE OR OTHER DEALINGS IN THE SOFTWARE.
42*/
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48#ifndef XML_HANDLERS_H
49# define XML_HANDLERS_H
50
51# include "expat_config.h"
52
53# include "expat.h"
54
55/* Variable holding the expected handler userData */
56extern const void *g_handler_data;
57/* Count of the number of times the comment handler has been invoked */
58extern int g_comment_count;
59/* Count of the number of skipped entities */
60extern int g_skip_count;
61/* Count of the number of times the XML declaration handler is invoked */
62extern int g_xdecl_count;
63
64/* Start/End Element Handlers */
65
66extern void XMLCALL start_element_event_handler(void *userData,
67 const XML_Char *name,
68 const XML_Char **atts);
69
70extern void XMLCALL end_element_event_handler(void *userData,
71 const XML_Char *name);
72
73# define STRUCT_START_TAG 0
74# define STRUCT_END_TAG 1
75
76extern void XMLCALL start_element_event_handler2(void *userData,
77 const XML_Char *name,
78 const XML_Char **attr);
79
80extern void XMLCALL end_element_event_handler2(void *userData,
81 const XML_Char *name);
82
83typedef struct attrInfo {
84 const XML_Char *name;
87
94
99
100extern void XMLCALL counting_start_element_handler(void *userData,
101 const XML_Char *name,
102 const XML_Char **atts);
103
104extern void XMLCALL suspending_end_handler(void *userData, const XML_Char *s);
105
106extern void XMLCALL start_element_suspender(void *userData,
107 const XML_Char *name,
108 const XML_Char **atts);
109
110extern int g_triplet_start_flag;
111extern int g_triplet_end_flag;
112
113extern void XMLCALL triplet_start_checker(void *userData, const XML_Char *name,
114 const XML_Char **atts);
115
116extern void XMLCALL triplet_end_checker(void *userData, const XML_Char *name);
117
118extern void XMLCALL overwrite_start_checker(void *userData,
119 const XML_Char *name,
120 const XML_Char **atts);
121
122extern void XMLCALL overwrite_end_checker(void *userData, const XML_Char *name);
123
124extern void XMLCALL start_element_fail(void *userData, const XML_Char *name,
125 const XML_Char **atts);
126
127extern void XMLCALL start_ns_clearing_start_element(void *userData,
128 const XML_Char *prefix,
129 const XML_Char *uri);
130
131typedef struct {
133 int deep;
135
136extern void XMLCALL start_element_issue_240(void *userData,
137 const XML_Char *name,
138 const XML_Char **atts);
139
140extern void XMLCALL end_element_issue_240(void *userData, const XML_Char *name);
141
142/* Text encoding handlers */
143
144extern int XMLCALL UnknownEncodingHandler(void *data, const XML_Char *encoding,
146
148 const XML_Char *encoding,
150
152 const XML_Char *encoding,
154
155extern int XMLCALL MiscEncodingHandler(void *data, const XML_Char *encoding,
157
158extern int XMLCALL long_encoding_handler(void *userData,
159 const XML_Char *encoding,
161
162/* External Entity Handlers */
163
164typedef struct ExtOption {
166 const char *parse_text;
168
170 const XML_Char *context,
171 const XML_Char *base,
172 const XML_Char *systemId,
173 const XML_Char *publicId);
174
176 const XML_Char *context,
177 const XML_Char *base,
178 const XML_Char *systemId,
179 const XML_Char *publicId);
180
181typedef struct ext_faults {
182 const char *parse_text;
183 const char *fail_text;
187
189 const XML_Char *context,
190 const XML_Char *base,
191 const XML_Char *systemId,
192 const XML_Char *publicId);
195 const XML_Char *systemId, const XML_Char *publicId);
197 const XML_Char *context,
198 const XML_Char *base,
199 const XML_Char *systemId,
200 const XML_Char *publicId);
201
203 const XML_Char *context,
204 const XML_Char *base,
205 const XML_Char *systemId,
206 const XML_Char *publicId);
207
209 const XML_Char *context,
210 const XML_Char *base,
211 const XML_Char *systemId,
212 const XML_Char *publicId);
213
215 const XML_Char *context,
216 const XML_Char *base,
217 const XML_Char *systemId,
218 const XML_Char *publicId);
219
221 const XML_Char *context,
222 const XML_Char *base,
223 const XML_Char *systemId,
224 const XML_Char *publicId);
225
227 const XML_Char *context,
228 const XML_Char *base,
229 const XML_Char *systemId,
230 const XML_Char *publicId);
231
233 const XML_Char *context,
234 const XML_Char *base,
235 const XML_Char *systemId,
236 const XML_Char *publicId);
237
239 const XML_Char *context,
240 const XML_Char *base,
241 const XML_Char *systemId,
242 const XML_Char *publicId);
243
245 const XML_Char *context,
246 const XML_Char *base,
247 const XML_Char *systemId,
248 const XML_Char *publicId);
249
250/* Entity declaration handlers */
251
252extern void XMLCALL entity_suspending_decl_handler(void *userData,
253 const XML_Char *name,
254 XML_Content *model);
255
256extern void XMLCALL entity_suspending_xdecl_handler(void *userData,
257 const XML_Char *version,
258 const XML_Char *encoding,
259 int standalone);
260
262 const XML_Char *context,
263 const XML_Char *base,
264 const XML_Char *systemId,
265 const XML_Char *publicId);
266
268 const XML_Char *context,
269 const XML_Char *base,
270 const XML_Char *systemId,
271 const XML_Char *publicId);
272
274 const XML_Char *context,
275 const XML_Char *base,
276 const XML_Char *systemId,
277 const XML_Char *publicId);
278
280 const XML_Char *context,
281 const XML_Char *base,
282 const XML_Char *systemId,
283 const XML_Char *publicId);
284
286 const XML_Char *context,
287 const XML_Char *base,
288 const XML_Char *systemId,
289 const XML_Char *publicId);
290
293 const XML_Char *systemId, const XML_Char *publicId);
294
296 const XML_Char *context,
297 const XML_Char *base,
298 const XML_Char *systemId,
299 const XML_Char *publicId);
300
302 const XML_Char *context,
303 const XML_Char *base,
304 const XML_Char *systemId,
305 const XML_Char *publicId);
306
308 const XML_Char *context,
309 const XML_Char *base,
310 const XML_Char *systemId,
311 const XML_Char *publicId);
312
314 const XML_Char *context,
315 const XML_Char *base,
316 const XML_Char *systemId,
317 const XML_Char *publicId);
318
320 const XML_Char *context,
321 const XML_Char *base,
322 const XML_Char *systemId,
323 const XML_Char *publicId);
324
329
331 const XML_Char *context,
332 const XML_Char *base,
333 const XML_Char *systemId,
334 const XML_Char *publicId);
335
342
344 const XML_Char *context,
345 const XML_Char *base,
346 const XML_Char *systemId,
347 const XML_Char *publicId);
348
349typedef struct ExtFaults2 {
350 const char *parse_text;
352 const char *fail_text;
356
358 const XML_Char *context,
359 const XML_Char *base,
360 const XML_Char *systemId,
361 const XML_Char *publicId);
362
364 const XML_Char *context,
365 const XML_Char *base,
366 const XML_Char *systemId,
367 const XML_Char *publicId);
368
370 const XML_Char *context,
371 const XML_Char *base,
372 const XML_Char *systemId,
373 const XML_Char *publicId);
374
376 const XML_Char *context,
377 const XML_Char *base,
378 const XML_Char *systemId,
379 const XML_Char *publicId);
380
382 const XML_Char *context,
383 const XML_Char *base,
384 const XML_Char *systemId,
385 const XML_Char *publicId);
386
388 const XML_Char *context,
389 const XML_Char *base,
390 const XML_Char *systemId,
391 const XML_Char *publicId);
392
394 const XML_Char *context,
395 const XML_Char *base,
396 const XML_Char *systemId,
397 const XML_Char *publicId);
398
400 const XML_Char *context,
401 const XML_Char *base,
402 const XML_Char *systemId,
403 const XML_Char *publicId);
404
406 const XML_Char *context,
407 const XML_Char *base,
408 const XML_Char *systemId,
409 const XML_Char *publicId);
410
413 const XML_Char *systemId, const XML_Char *publicId);
414
416 const char *primaryText;
417 const char *firstExternalText; /* often NULL */
418 const char *secondExternalText; /* often NULL */
419 const unsigned long long expectedCountBytesIndirectExtra;
420};
421
423 const XML_Char *context,
424 const XML_Char *base,
425 const XML_Char *systemId,
426 const XML_Char *publicId);
427
428/* NotStandalone handlers */
429
430extern int XMLCALL reject_not_standalone_handler(void *userData);
431
432extern int XMLCALL accept_not_standalone_handler(void *userData);
433
434/* Attribute List handlers */
435
444
446 void *userData, const XML_Char *element_name, const XML_Char *attr_name,
447 const XML_Char *attr_type, const XML_Char *default_value, int is_required);
448
449/* Character data handlers */
450
451extern void XMLCALL clearing_aborting_character_handler(void *userData,
452 const XML_Char *s,
453 int len);
454
455extern void XMLCALL parser_stop_character_handler(void *userData,
456 const XML_Char *s, int len);
457
458extern void XMLCALL cr_cdata_handler(void *userData, const XML_Char *s,
459 int len);
460
461extern void XMLCALL rsqb_handler(void *userData, const XML_Char *s, int len);
462
468
469extern void XMLCALL byte_character_handler(void *userData, const XML_Char *s,
470 int len);
471
472extern void XMLCALL ext2_accumulate_characters(void *userData,
473 const XML_Char *s, int len);
474
475/* Handlers that record their `len` arg and a single identifying character */
476
478 const char *name;
479 int arg;
480};
482 int count;
483 struct handler_record_entry entries[50]; // arbitrary big-enough max count
484};
485
486extern void XMLCALL record_default_handler(void *userData, const XML_Char *s,
487 int len);
488
489extern void XMLCALL record_cdata_handler(void *userData, const XML_Char *s,
490 int len);
491
492extern void XMLCALL record_cdata_nodefault_handler(void *userData,
493 const XML_Char *s, int len);
494
495extern void XMLCALL record_skip_handler(void *userData,
496 const XML_Char *entityName,
498
499extern void XMLCALL record_element_start_handler(void *userData,
500 const XML_Char *name,
501 const XML_Char **atts);
502
503extern void XMLCALL record_element_end_handler(void *userData,
504 const XML_Char *name);
505
506extern const struct handler_record_entry *
507_handler_record_get(const struct handler_record_list *storage, int index,
508 const char *file, int line);
509
510# define handler_record_get(storage, index) \
511 _handler_record_get((storage), (index), __FILE__, __LINE__)
512
513# define assert_record_handler_called(storage, index, expected_name, \
514 expected_arg) \
515 do { \
516 const struct handler_record_entry *e \
517 = handler_record_get(storage, index); \
518 assert_true(strcmp(e->name, expected_name) == 0); \
519 assert_true(e->arg == (expected_arg)); \
520 } while (0)
521
522/* Entity Declaration Handlers */
523# define ENTITY_MATCH_FAIL (-1)
524# define ENTITY_MATCH_NOT_FOUND (0)
525# define ENTITY_MATCH_SUCCESS (1)
526
528 void *userData, const XML_Char *entityName, int is_parameter_entity,
529 const XML_Char *value, int value_length, const XML_Char *base,
530 const XML_Char *systemId, const XML_Char *publicId,
531 const XML_Char *notationName);
532
533extern void param_entity_match_init(const XML_Char *name,
534 const XML_Char *value);
535
536extern int get_param_entity_match_flag(void);
537
538/* Misc handlers */
539
540extern void XMLCALL xml_decl_handler(void *userData, const XML_Char *version,
541 const XML_Char *encoding, int standalone);
542
543extern void XMLCALL param_check_skip_handler(void *userData,
544 const XML_Char *entityName,
546
547extern void XMLCALL data_check_comment_handler(void *userData,
548 const XML_Char *data);
549
550extern void XMLCALL selective_aborting_default_handler(void *userData,
551 const XML_Char *s,
552 int len);
553
554extern void XMLCALL suspending_comment_handler(void *userData,
555 const XML_Char *data);
556
557extern void XMLCALL element_decl_suspender(void *userData, const XML_Char *name,
558 XML_Content *model);
559
560extern void XMLCALL accumulate_pi_characters(void *userData,
561 const XML_Char *target,
562 const XML_Char *data);
563
564extern void XMLCALL accumulate_comment(void *userData, const XML_Char *data);
565
567 void *userData, const XML_Char *entityName, int is_parameter_entity,
568 const XML_Char *value, int value_length, const XML_Char *base,
569 const XML_Char *systemId, const XML_Char *publicId,
570 const XML_Char *notationName);
571
572extern void XMLCALL accumulate_start_element(void *userData,
573 const XML_Char *name,
574 const XML_Char **atts);
575
576extern void XMLCALL accumulate_characters(void *userData, const XML_Char *s,
577 int len);
578
579extern void XMLCALL accumulate_attribute(void *userData, const XML_Char *name,
580 const XML_Char **atts);
581
582extern void XMLCALL ext_accumulate_characters(void *userData, const XML_Char *s,
583 int len);
584
590
591void XMLCALL checking_default_handler(void *userData, const XML_Char *s,
592 int len);
593
598
599extern void XMLCALL
601
602#endif /* XML_HANDLERS_H */
603
604#ifdef __cplusplus
605}
606#endif
const char apr_size_t len
Definition ap_regex.h:187
int(* XML_ExternalEntityRefHandler)(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition expat.h:454
unsigned char XML_Bool
Definition expat.h:57
XML_Error
Definition expat.h:83
char XML_Char
#define XMLCALL
ap_conf_vector_t * base
apr_md5_ctx_t * context
Definition util_md5.h:58
const char * uri
Definition apr_uri.h:159
apr_xml_parser ** parser
Definition apr_xml.h:228
apr_size_t size
const char * value
Definition apr_env.h:51
void * data
const char apr_file_t * file
const char * s
Definition apr_strings.h:95
const char const char *const const char *const apr_procattr_t * attr
void XMLCALL start_element_fail(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:241
int XMLCALL external_entity_param_checker(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:788
void XMLCALL entity_suspending_xdecl_handler(void *userData, const XML_Char *version, const XML_Char *encoding, int standalone)
Definition handlers.c:589
int XMLCALL external_entity_devaluer(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1100
int g_triplet_start_flag
Definition handlers.c:181
int XMLCALL external_entity_param(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:839
const void * g_handler_data
Definition handlers.c:63
int XMLCALL external_entity_loader2(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1154
int XMLCALL external_entity_rsqb_catcher(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:737
void XMLCALL cr_cdata_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1613
struct ext_faults ExtFaults
int XMLCALL MiscEncodingHandler(void *data, const XML_Char *encoding, XML_Encoding *info)
Definition handlers.c:349
void XMLCALL data_check_comment_handler(void *userData, const XML_Char *data)
Definition handlers.c:1800
void XMLCALL accumulate_characters(void *userData, const XML_Char *s, int len)
Definition handlers.c:1910
int XMLCALL external_entity_failer__if_not_xml_ge(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:675
int XMLCALL external_entity_cr_catcher(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:693
int XMLCALL external_entity_valuer(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:953
int XMLCALL external_entity_optioner(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:413
void XMLCALL ext_accumulate_characters(void *userData, const XML_Char *s, int len)
Definition handlers.c:1932
struct elementInfo ElementInfo
int get_param_entity_match_flag(void)
Definition handlers.c:1771
void XMLCALL rsqb_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1624
int XMLCALL external_entity_duff_loader(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1267
void XMLCALL element_decl_suspender(void *userData, const XML_Char *name, XML_Content *model)
Definition handlers.c:1837
int XMLCALL external_entity_loader(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:439
void XMLCALL record_element_start_handler(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:1705
int XMLCALL long_encoding_handler(void *userData, const XML_Char *encoding, XML_Encoding *info)
Definition handlers.c:396
int XMLCALL external_entity_load_ignore(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:880
int g_xdecl_count
Definition handlers.c:69
int XMLCALL external_entity_reallocator(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1423
int XMLCALL external_entity_not_standalone(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:999
struct default_check DefaultCheck
void XMLCALL param_check_skip_handler(void *userData, const XML_Char *entityName, int is_parameter_entity)
Definition handlers.c:1790
int XMLCALL external_entity_oneshot_loader(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1129
void XMLCALL start_element_issue_240(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:260
void XMLCALL record_cdata_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1684
int XMLCALL external_entity_value_aborter(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1036
int g_triplet_end_flag
Definition handlers.c:182
void XMLCALL record_element_end_handler(void *userData, const XML_Char *name)
Definition handlers.c:1712
void XMLCALL accumulate_start_element(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:1886
void XMLCALL accumulate_attribute(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:1916
int g_comment_count
Definition handlers.c:65
int XMLCALL external_entity_alloc(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1451
void XMLCALL xml_decl_handler(void *userData, const XML_Char *version, const XML_Char *encoding, int standalone)
Definition handlers.c:1778
int XMLCALL external_entity_bad_cr_catcher(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:714
int XMLCALL external_entity_unfinished_attlist(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1209
int XMLCALL external_entity_suspend_xmldecl(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:601
void XMLCALL triplet_end_checker(void *userData, const XML_Char *name)
Definition handlers.c:207
int XMLCALL UnrecognisedEncodingHandler(void *data, const XML_Char *encoding, XML_Encoding *info)
Definition handlers.c:303
int XMLCALL external_entity_public(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1073
void XMLCALL accumulate_entity_decl(void *userData, const XML_Char *entityName, int is_parameter_entity, const XML_Char *value, int value_length, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *notationName)
Definition handlers.c:1864
void XMLCALL accumulate_pi_characters(void *userData, const XML_Char *target, const XML_Char *data)
Definition handlers.c:1846
void XMLCALL entity_suspending_decl_handler(void *userData, const XML_Char *name, XML_Content *model)
Definition handlers.c:551
void XMLCALL accumulate_comment(void *userData, const XML_Char *data)
Definition handlers.c:1857
void XMLCALL selective_aborting_default_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1812
struct StructParserAndElementInfo ParserAndElementInfo
int XMLCALL external_entity_alloc_set_encoding(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1394
void XMLCALL end_element_issue_240(void *userData, const XML_Char *name)
Definition handlers.c:269
void XMLCALL overwrite_end_checker(void *userData, const XML_Char *name)
Definition handlers.c:233
struct attrInfo AttrInfo
int XMLCALL external_entity_dbl_handler_2(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1356
struct ext_hdlr_data ExtHdlrData
void XMLCALL end_element_event_handler(void *userData, const XML_Char *name)
Definition handlers.c:81
void XMLCALL byte_character_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1632
void XMLCALL end_element_event_handler2(void *userData, const XML_Char *name)
Definition handlers.c:97
int XMLCALL external_entity_faulter2(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1181
int XMLCALL external_entity_good_cdata_ascii(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:760
void XMLCALL param_entity_match_handler(void *userData, const XML_Char *entityName, int is_parameter_entity, const XML_Char *value, int value_length, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *notationName)
Definition handlers.c:1734
int XMLCALL UnknownEncodingHandler(void *data, const XML_Char *encoding, XML_Encoding *info)
Definition handlers.c:282
int XMLCALL external_entity_parser_create_alloc_fail_handler(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1471
int XMLCALL external_entity_null_loader(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:494
int XMLCALL unknown_released_encoding_handler(void *data, const XML_Char *encoding, XML_Encoding *info)
Definition handlers.c:314
void XMLCALL clearing_aborting_character_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1572
int accounting_external_entity_ref_handler(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
int XMLCALL accept_not_standalone_handler(void *userData)
Definition handlers.c:1542
int XMLCALL external_entity_handler(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1236
void XMLCALL suspending_comment_handler(void *userData, const XML_Char *data)
Definition handlers.c:1830
const struct handler_record_entry * _handler_record_get(const struct handler_record_list *storage, int index, const char *file, int line)
Definition handlers.c:1720
void XMLCALL record_cdata_nodefault_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1691
int XMLCALL external_entity_load_ignore_utf16(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:901
void XMLCALL ext2_accumulate_characters(void *userData, const XML_Char *s, int len)
Definition handlers.c:1660
int XMLCALL reject_not_standalone_handler(void *userData)
Definition handlers.c:1536
void XMLCALL verify_attlist_decl_handler(void *userData, const XML_Char *element_name, const XML_Char *attr_name, const XML_Char *attr_type, const XML_Char *default_value, int is_required)
Definition handlers.c:1549
int XMLCALL external_entity_suspender(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:565
int XMLCALL external_entity_load_ignore_utf16_be(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:927
int XMLCALL external_entity_suspending_faulter(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:638
int g_skip_count
Definition handlers.c:67
void XMLCALL start_element_suspender(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:166
void param_entity_match_init(const XML_Char *name, const XML_Char *value)
Definition handlers.c:1764
void XMLCALL counting_start_element_handler(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:104
void XMLCALL checking_default_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1938
int XMLCALL external_entity_faulter(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:466
void XMLCALL parser_stop_character_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1582
void XMLCALL overwrite_start_checker(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:219
int XMLCALL external_entity_dbl_handler(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:1299
void XMLCALL triplet_start_checker(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:185
void XMLCALL accumulate_and_suspend_comment_handler(void *userData, const XML_Char *data)
Definition handlers.c:1952
void XMLCALL start_ns_clearing_start_element(void *userData, const XML_Char *prefix, const XML_Char *uri)
Definition handlers.c:252
void XMLCALL record_default_handler(void *userData, const XML_Char *s, int len)
Definition handlers.c:1678
void XMLCALL start_element_event_handler(void *userData, const XML_Char *name, const XML_Char **atts)
Definition handlers.c:74
int XMLCALL external_entity_ref_param_checker(XML_Parser parameter, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:813
void XMLCALL suspending_end_handler(void *userData, const XML_Char *s)
Definition handlers.c:160
int XMLCALL external_entity_resetter(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
Definition handlers.c:506
void XMLCALL start_element_event_handler2(void *userData, const XML_Char *name, const XML_Char **attr)
Definition handlers.c:88
void XMLCALL record_skip_handler(void *userData, const XML_Char *entityName, int is_parameter_entity)
Definition handlers.c:1697
static const ap_slotmem_provider_t * storage
char * name
const unsigned long long expectedCountBytesIndirectExtra
Definition handlers.h:419
const char * secondExternalText
Definition handlers.h:418
const char * firstExternalText
Definition handlers.h:417
const char * primaryText
Definition handlers.h:416
const XML_Char * attr_type
Definition handlers.h:440
const char * definition
Definition handlers.h:437
const XML_Char * default_value
Definition handlers.h:441
const XML_Char * attr_name
Definition handlers.h:439
const XML_Char * element_name
Definition handlers.h:438
int is_required
Definition handlers.h:442
int start_element_len
Definition handlers.h:464
int total_string_len
Definition handlers.h:466
XML_Parser parser
Definition handlers.h:132
const char * fail_text
Definition handlers.h:352
const char * parse_text
Definition handlers.h:350
enum XML_Error error
Definition handlers.h:354
int parse_len
Definition handlers.h:351
const XML_Char * encoding
Definition handlers.h:353
const XML_Char * system_id
Definition handlers.h:165
const char * parse_text
Definition handlers.h:166
const XML_Char * encoding
Definition handlers.h:339
CharData * storage
Definition handlers.h:340
int parse_len
Definition handlers.h:338
const char * parse_text
Definition handlers.h:337
XML_Parser parser
Definition handlers.h:595
CharData * storage
Definition handlers.h:596
const XML_Char * value
Definition handlers.h:85
const XML_Char * name
Definition handlers.h:84
const XML_Char * expected
Definition handlers.h:586
XML_Bool seen
Definition handlers.h:588
const int expectedLen
Definition handlers.h:587
const XML_Char * name
Definition handlers.h:89
int attr_count
Definition handlers.h:90
const XML_Char * id_name
Definition handlers.h:91
AttrInfo * attributes
Definition handlers.h:92
enum XML_Error error
Definition handlers.h:185
const char * fail_text
Definition handlers.h:183
const char * parse_text
Definition handlers.h:182
const XML_Char * encoding
Definition handlers.h:184
const char * parse_text
Definition handlers.h:326
XML_ExternalEntityRefHandler handler
Definition handlers.h:327
Definition handlers.h:477
const char * name
Definition handlers.h:478
int arg
Definition handlers.h:479
struct handler_record_entry entries[50]
Definition handlers.h:483
INT info