13 #ifndef __HTML_PARSER_H__
14 #define __HTML_PARSER_H__
15 #include <libxml/xmlversion.h>
16 #include <libxml/parser.h>
18 #ifdef LIBXML_HTML_ENABLED
29 typedef xmlParserNodeInfo htmlParserNodeInfo;
30 typedef xmlSAXHandler htmlSAXHandler;
31 typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
32 typedef xmlParserInput htmlParserInput;
33 typedef xmlParserInputPtr htmlParserInputPtr;
34 typedef xmlDocPtr htmlDocPtr;
35 typedef xmlNodePtr htmlNodePtr;
41 typedef struct _htmlElemDesc htmlElemDesc;
42 typedef htmlElemDesc *htmlElemDescPtr;
43 struct _htmlElemDesc {
65 const char* defaultsubelt;
67 const char** attrs_opt;
68 const char** attrs_depr;
69 const char** attrs_req;
75 typedef struct _htmlEntityDesc htmlEntityDesc;
76 typedef htmlEntityDesc *htmlEntityDescPtr;
77 struct _htmlEntityDesc {
86 XMLPUBFUN
const htmlElemDesc * XMLCALL
87 htmlTagLookup (
const xmlChar *tag);
88 XMLPUBFUN
const htmlEntityDesc * XMLCALL
89 htmlEntityLookup(
const xmlChar *name);
90 XMLPUBFUN
const htmlEntityDesc * XMLCALL
91 htmlEntityValueLookup(
unsigned int value);
94 htmlIsAutoClosed(htmlDocPtr doc,
97 htmlAutoCloseTag(htmlDocPtr doc,
100 XMLPUBFUN
const htmlEntityDesc * XMLCALL
101 htmlParseEntityRef(htmlParserCtxtPtr ctxt,
102 const xmlChar **str);
103 XMLPUBFUN
int XMLCALL
104 htmlParseCharRef(htmlParserCtxtPtr ctxt);
105 XMLPUBFUN
void XMLCALL
106 htmlParseElement(htmlParserCtxtPtr ctxt);
108 XMLPUBFUN htmlParserCtxtPtr XMLCALL
109 htmlNewParserCtxt(
void);
111 XMLPUBFUN htmlParserCtxtPtr XMLCALL
112 htmlCreateMemoryParserCtxt(
const char *buffer,
115 XMLPUBFUN
int XMLCALL
116 htmlParseDocument(htmlParserCtxtPtr ctxt);
117 XMLPUBFUN htmlDocPtr XMLCALL
118 htmlSAXParseDoc (xmlChar *cur,
119 const char *encoding,
120 htmlSAXHandlerPtr sax,
122 XMLPUBFUN htmlDocPtr XMLCALL
123 htmlParseDoc (xmlChar *cur,
124 const char *encoding);
125 XMLPUBFUN htmlDocPtr XMLCALL
126 htmlSAXParseFile(
const char *filename,
127 const char *encoding,
128 htmlSAXHandlerPtr sax,
130 XMLPUBFUN htmlDocPtr XMLCALL
131 htmlParseFile (
const char *filename,
132 const char *encoding);
133 XMLPUBFUN
int XMLCALL
134 UTF8ToHtml (
unsigned char *out,
136 const unsigned char *in,
138 XMLPUBFUN
int XMLCALL
139 htmlEncodeEntities(
unsigned char *out,
141 const unsigned char *in,
142 int *inlen,
int quoteChar);
143 XMLPUBFUN
int XMLCALL
144 htmlIsScriptAttribute(
const xmlChar *name);
145 XMLPUBFUN
int XMLCALL
146 htmlHandleOmittedElem(
int val);
148 #ifdef LIBXML_PUSH_ENABLED
152 XMLPUBFUN htmlParserCtxtPtr XMLCALL
153 htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
157 const char *filename,
158 xmlCharEncoding enc);
159 XMLPUBFUN
int XMLCALL
160 htmlParseChunk (htmlParserCtxtPtr ctxt,
166 XMLPUBFUN
void XMLCALL
167 htmlFreeParserCtxt (htmlParserCtxtPtr ctxt);
179 HTML_PARSE_RECOVER = 1<<0,
180 HTML_PARSE_NOERROR = 1<<5,
181 HTML_PARSE_NOWARNING= 1<<6,
182 HTML_PARSE_PEDANTIC = 1<<7,
183 HTML_PARSE_NOBLANKS = 1<<8,
184 HTML_PARSE_NONET = 1<<11,
185 HTML_PARSE_COMPACT = 1<<16
188 XMLPUBFUN
void XMLCALL
189 htmlCtxtReset (htmlParserCtxtPtr ctxt);
190 XMLPUBFUN
int XMLCALL
191 htmlCtxtUseOptions (htmlParserCtxtPtr ctxt,
193 XMLPUBFUN htmlDocPtr XMLCALL
194 htmlReadDoc (
const xmlChar *cur,
196 const char *encoding,
198 XMLPUBFUN htmlDocPtr XMLCALL
199 htmlReadFile (
const char *URL,
200 const char *encoding,
202 XMLPUBFUN htmlDocPtr XMLCALL
203 htmlReadMemory (
const char *buffer,
206 const char *encoding,
208 XMLPUBFUN htmlDocPtr XMLCALL
211 const char *encoding,
213 XMLPUBFUN htmlDocPtr XMLCALL
214 htmlReadIO (xmlInputReadCallback ioread,
215 xmlInputCloseCallback ioclose,
218 const char *encoding,
220 XMLPUBFUN htmlDocPtr XMLCALL
224 const char *encoding,
226 XMLPUBFUN htmlDocPtr XMLCALL
228 const char *filename,
229 const char *encoding,
231 XMLPUBFUN htmlDocPtr XMLCALL
236 const char *encoding,
238 XMLPUBFUN htmlDocPtr XMLCALL
242 const char *encoding,
244 XMLPUBFUN htmlDocPtr XMLCALL
246 xmlInputReadCallback ioread,
247 xmlInputCloseCallback ioclose,
250 const char *encoding,
258 HTML_DEPRECATED = 0x2 ,
266 XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(
const htmlElemDesc*,
const xmlChar*,
int) ;
267 XMLPUBFUN
int XMLCALL htmlElementAllowedHere(
const htmlElemDesc*,
const xmlChar*) ;
268 XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(
const htmlElemDesc*,
const htmlElemDesc*) ;
269 XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(
const htmlNodePtr,
int) ;
276 #define htmlDefaultSubelement(elt) elt->defaultsubelt
287 #define htmlElementAllowedHereDesc(parent,elt) \
288 htmlElementAllowedHere((parent), (elt)->name)
295 #define htmlRequiredAttrs(elt) (elt)->attrs_req