36 XBIT_start, XBIT_empty, XBIT_end, XBIT_eof, XBIT_pcdata,
37 XBIT_pi, XBIT_comment, XBIT_cdsect, XBIT_xml,
38 XBIT_error, XBIT_warning, XBIT_none,
43extern XML_API
const char8 *XBitTypeName[XBIT_enum_count];
53 CP_pcdata, CP_name, CP_seq, CP_choice
55typedef enum cp_type
CPType;
77 struct xbit **children;
81#define pcdata_chars S1
86#define comment_chars S1
88#define cdsect_chars S1
91#define xml_encoding_name s2
92#define xml_standalone i1
93#define xml_encoding i2
95#define error_message s1
100 ExpandCharacterEntities,
101 ExpandGeneralEntities,
104 XMLPredefinedEntities,
105 ErrorOnUnquotedAttributeValues,
106 NormaliseAttributeValues,
107 NormalizeAttributeValues,
108 ErrorOnBadCharacterEntities,
109 ErrorOnUndefinedEntities,
112 ErrorOnUndefinedElements,
113 WarnOnUndefinedElements,
114 ErrorOnUndefinedAttributes,
115 WarnOnUndefinedAttributes,
119 ReturnDefaultedAttributes,
123 AllowMultipleElements,
128typedef enum parser_flag ParserFlag;
133 {PS_prolog1, PS_prolog2, PS_body, PS_epilog, PS_end, PS_error};
141 enum parse_state state;
147 int namelen, pbufsize, pbufnext;
151 CallbackProc *dtd_callback;
152 CallbackProc *warning_callback;
153 EntityOpenerProc *entity_opener;
156 int element_stack_alloc;
159 int external_pe_depth;
163XML_API
int ParserInit(
void);
164XML_API
Parser NewParser(
void);
165XML_API
void FreeParser(
Parser p);
176void FreeXTree(
XBit tree);
181XML_API
void ParserSetWarningCallback(
Parser p, CallbackProc
cb);
182XML_API
void ParserSetDtdCallback(
Parser p, CallbackProc
cb);
183XML_API
void ParserSetEntityOpener(
Parser p, EntityOpenerProc
opener);
184XML_API
void ParserSetCallbackArg(
Parser p,
void *
arg);
187XML_API
void ParserPop(
Parser p);
189XML_API
void ParserSetFlag(
Parser p, ParserFlag
flag,
int value);
190#define ParserGetFlag(p, flag) ((p)->flags & (1 << (flag)))