1*7c568831SAndroid Build Coastguard Worker * Summary: interface for an HTML 4.0 non-verifying parser 2*7c568831SAndroid Build Coastguard Worker * Description: this module implements an HTML 4.0 non-verifying parser 3*7c568831SAndroid Build Coastguard Worker * with API compatible with the XML parser ones. It should 4*7c568831SAndroid Build Coastguard Worker * be able to parse "real world" HTML, even if severely 5*7c568831SAndroid Build Coastguard Worker * broken from a specification point of view. 6*7c568831SAndroid Build Coastguard Worker * 7*7c568831SAndroid Build Coastguard Worker * Copy: See Copyright for the status of this software. 8*7c568831SAndroid Build Coastguard Worker * 9*7c568831SAndroid Build Coastguard Worker * Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A. 10*7c568831SAndroid Build Coastguard Worker 11*7c568831SAndroid Build Coastguard Worker /if not defined(HTML_PARSER_H__) 12*7c568831SAndroid Build Coastguard Worker /define HTML_PARSER_H__ 13*7c568831SAndroid Build Coastguard Worker 14*7c568831SAndroid Build Coastguard Worker /include "libxmlrpg/xmlversion" 15*7c568831SAndroid Build Coastguard Worker 16*7c568831SAndroid Build Coastguard Worker /if defined(LIBXML_HTML_ENABLED) 17*7c568831SAndroid Build Coastguard Worker 18*7c568831SAndroid Build Coastguard Worker /include "libxmlrpg/xmlTypesC" 19*7c568831SAndroid Build Coastguard Worker /include "libxmlrpg/parser" 20*7c568831SAndroid Build Coastguard Worker 21*7c568831SAndroid Build Coastguard Worker * Most of the back-end structures from XML and HTML are shared. 22*7c568831SAndroid Build Coastguard Worker 23*7c568831SAndroid Build Coastguard Worker d htmlParserCtxtPtr... 24*7c568831SAndroid Build Coastguard Worker d s based(######typedef######) 25*7c568831SAndroid Build Coastguard Worker d like(xmlParserCtxtPtr) 26*7c568831SAndroid Build Coastguard Worker 27*7c568831SAndroid Build Coastguard Worker d htmlParserCtxt ds based(htmlParserCtxtPtr) 28*7c568831SAndroid Build Coastguard Worker d likeds(xmlParserCtxt) 29*7c568831SAndroid Build Coastguard Worker 30*7c568831SAndroid Build Coastguard Worker d htmlParserNodeInfoPtr... 31*7c568831SAndroid Build Coastguard Worker d s based(######typedef######) 32*7c568831SAndroid Build Coastguard Worker d like(xmlParserNodeInfoPtr) 33*7c568831SAndroid Build Coastguard Worker 34*7c568831SAndroid Build Coastguard Worker d htmlParserNodeInfo... 35*7c568831SAndroid Build Coastguard Worker d ds based(htmlParserNodeInfoPtr) 36*7c568831SAndroid Build Coastguard Worker d likeds(xmlParserNodeInfo) 37*7c568831SAndroid Build Coastguard Worker 38*7c568831SAndroid Build Coastguard Worker d htmlSAXHandlerPtr... 39*7c568831SAndroid Build Coastguard Worker d s based(######typedef######) 40*7c568831SAndroid Build Coastguard Worker d like(xmlSAXHandlerPtr) 41*7c568831SAndroid Build Coastguard Worker 42*7c568831SAndroid Build Coastguard Worker d htmlSAXHandler ds based(htmlSAXHandlerPtr) 43*7c568831SAndroid Build Coastguard Worker d likeds(xmlSAXHandler) 44*7c568831SAndroid Build Coastguard Worker 45*7c568831SAndroid Build Coastguard Worker d htmlParserInputPtr... 46*7c568831SAndroid Build Coastguard Worker d s based(######typedef######) 47*7c568831SAndroid Build Coastguard Worker d like(xmlParserInputPtr) 48*7c568831SAndroid Build Coastguard Worker 49*7c568831SAndroid Build Coastguard Worker d htmlParserInput... 50*7c568831SAndroid Build Coastguard Worker d ds based(htmlParserInputPtr) 51*7c568831SAndroid Build Coastguard Worker d likeds(xmlParserInput) 52*7c568831SAndroid Build Coastguard Worker 53*7c568831SAndroid Build Coastguard Worker d htmlDocPtr s based(######typedef######) 54*7c568831SAndroid Build Coastguard Worker d like(xmlDocPtr) 55*7c568831SAndroid Build Coastguard Worker 56*7c568831SAndroid Build Coastguard Worker d htmlNodePtr s based(######typedef######) 57*7c568831SAndroid Build Coastguard Worker d like(xmlNodePtr) 58*7c568831SAndroid Build Coastguard Worker 59*7c568831SAndroid Build Coastguard Worker * Internal description of an HTML element, representing HTML 4.01 60*7c568831SAndroid Build Coastguard Worker * and XHTML 1.0 (which share the same structure). 61*7c568831SAndroid Build Coastguard Worker 62*7c568831SAndroid Build Coastguard Worker d htmlElemDescPtr... 63*7c568831SAndroid Build Coastguard Worker d s * based(######typedef######) 64*7c568831SAndroid Build Coastguard Worker 65*7c568831SAndroid Build Coastguard Worker d htmlElemDesc ds based(htmlElemDescPtr) 66*7c568831SAndroid Build Coastguard Worker d align qualified 67*7c568831SAndroid Build Coastguard Worker d name * const char * 68*7c568831SAndroid Build Coastguard Worker d startTag like(xmlCchar) Start tag implied ? 69*7c568831SAndroid Build Coastguard Worker d endTag like(xmlCchar) End tag implied ? 70*7c568831SAndroid Build Coastguard Worker d saveEndTag like(xmlCchar) Save end tag ? 71*7c568831SAndroid Build Coastguard Worker d empty like(xmlCchar) Empty element ? 72*7c568831SAndroid Build Coastguard Worker d depr like(xmlCchar) Deprecated element ? 73*7c568831SAndroid Build Coastguard Worker d dtd like(xmlCchar) Loose DTD/Frameset 74*7c568831SAndroid Build Coastguard Worker d isinline like(xmlCchar) Block 0/inline elem? 75*7c568831SAndroid Build Coastguard Worker d desc * const char * 76*7c568831SAndroid Build Coastguard Worker * 77*7c568831SAndroid Build Coastguard Worker * New fields encapsulating HTML structure 78*7c568831SAndroid Build Coastguard Worker * 79*7c568831SAndroid Build Coastguard Worker * Bugs: 80*7c568831SAndroid Build Coastguard Worker * This is a very limited representation. It fails to tell us when 81*7c568831SAndroid Build Coastguard Worker * an element *requires* subelements (we only have whether they're 82*7c568831SAndroid Build Coastguard Worker * allowed or not), and it doesn't tell us where CDATA and PCDATA 83*7c568831SAndroid Build Coastguard Worker * are allowed. Some element relationships are not fully represented: 84*7c568831SAndroid Build Coastguard Worker * these are flagged with the word MODIFIER 85*7c568831SAndroid Build Coastguard Worker * 86*7c568831SAndroid Build Coastguard Worker d subelts * const char * * 87*7c568831SAndroid Build Coastguard Worker d defaultsubelt * const char * 88*7c568831SAndroid Build Coastguard Worker d attrs_opt * const char * * 89*7c568831SAndroid Build Coastguard Worker d attrs_depr * const char * * 90*7c568831SAndroid Build Coastguard Worker d attrs_req * const char * * 91*7c568831SAndroid Build Coastguard Worker 92*7c568831SAndroid Build Coastguard Worker * Internal description of an HTML entity. 93*7c568831SAndroid Build Coastguard Worker 94*7c568831SAndroid Build Coastguard Worker d htmlEntityDescPtr... 95*7c568831SAndroid Build Coastguard Worker d s * based(######typedef######) 96*7c568831SAndroid Build Coastguard Worker 97*7c568831SAndroid Build Coastguard Worker d htmlEntityDesc... 98*7c568831SAndroid Build Coastguard Worker d ds based(htmlEntityDescPtr) 99*7c568831SAndroid Build Coastguard Worker d align qualified 100*7c568831SAndroid Build Coastguard Worker d value like(xmlCuint) 101*7c568831SAndroid Build Coastguard Worker d name * const char * 102*7c568831SAndroid Build Coastguard Worker d desc * const char * 103*7c568831SAndroid Build Coastguard Worker 104*7c568831SAndroid Build Coastguard Worker * There is only few public functions. 105*7c568831SAndroid Build Coastguard Worker 106*7c568831SAndroid Build Coastguard Worker d htmlTagLookup pr extproc('htmlTagLookup') 107*7c568831SAndroid Build Coastguard Worker d like(htmlElemDescPtr) const 108*7c568831SAndroid Build Coastguard Worker d tag * value options(*string) const xmlChar * 109*7c568831SAndroid Build Coastguard Worker 110*7c568831SAndroid Build Coastguard Worker d htmlEntityLookup... 111*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlEntityLookup') 112*7c568831SAndroid Build Coastguard Worker d like(htmlEntityDescPtr) const 113*7c568831SAndroid Build Coastguard Worker d name * value options(*string) const xmlChar * 114*7c568831SAndroid Build Coastguard Worker 115*7c568831SAndroid Build Coastguard Worker d htmlEntityValueLookup... 116*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlEntityValueLookup') 117*7c568831SAndroid Build Coastguard Worker d like(htmlEntityDescPtr) const 118*7c568831SAndroid Build Coastguard Worker d value value like(xmlCuint) 119*7c568831SAndroid Build Coastguard Worker 120*7c568831SAndroid Build Coastguard Worker d htmlIsAutoClosed... 121*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlIsAutoClosed') 122*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 123*7c568831SAndroid Build Coastguard Worker d doc value like(htmlDocPtr) 124*7c568831SAndroid Build Coastguard Worker d elem value like(htmlNodePtr) 125*7c568831SAndroid Build Coastguard Worker 126*7c568831SAndroid Build Coastguard Worker d htmlAutoCloseTag... 127*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlAutoCloseTag') 128*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 129*7c568831SAndroid Build Coastguard Worker d doc value like(htmlDocPtr) 130*7c568831SAndroid Build Coastguard Worker d name * value options(*string) const xmlChar * 131*7c568831SAndroid Build Coastguard Worker d elem value like(htmlNodePtr) 132*7c568831SAndroid Build Coastguard Worker 133*7c568831SAndroid Build Coastguard Worker d htmlParseEntityRef... 134*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlParseEntityRef') 135*7c568831SAndroid Build Coastguard Worker d like(htmlEntityDescPtr) const 136*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 137*7c568831SAndroid Build Coastguard Worker d str * const xmlChar *(*) 138*7c568831SAndroid Build Coastguard Worker 139*7c568831SAndroid Build Coastguard Worker d htmlParseCharRef... 140*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlParseCharRef') 141*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 142*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 143*7c568831SAndroid Build Coastguard Worker 144*7c568831SAndroid Build Coastguard Worker d htmlParseElement... 145*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlParseElement') 146*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 147*7c568831SAndroid Build Coastguard Worker 148*7c568831SAndroid Build Coastguard Worker d htmlNewParserCtxt... 149*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlNewParserCtxt') 150*7c568831SAndroid Build Coastguard Worker d like(htmlParserCtxtPtr) 151*7c568831SAndroid Build Coastguard Worker 152*7c568831SAndroid Build Coastguard Worker d htmlCreateMemoryParserCtxt... 153*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlCreateMemoryParserCtxt') 154*7c568831SAndroid Build Coastguard Worker d like(htmlParserCtxtPtr) 155*7c568831SAndroid Build Coastguard Worker d buffer * value options(*string) const char * 156*7c568831SAndroid Build Coastguard Worker d size value like(xmlCint) 157*7c568831SAndroid Build Coastguard Worker 158*7c568831SAndroid Build Coastguard Worker d htmlParseDocument... 159*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlParseDocument') 160*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 161*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 162*7c568831SAndroid Build Coastguard Worker 163*7c568831SAndroid Build Coastguard Worker d htmlSAXParseDoc... 164*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlSAXParseDoc') 165*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 166*7c568831SAndroid Build Coastguard Worker d cur * value options(*string) xmlChar * 167*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 168*7c568831SAndroid Build Coastguard Worker d sax value like(htmlSAXHandlerPtr) 169*7c568831SAndroid Build Coastguard Worker d userData * value void * 170*7c568831SAndroid Build Coastguard Worker 171*7c568831SAndroid Build Coastguard Worker d htmlParseDoc pr extproc('htmlParseDoc') 172*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 173*7c568831SAndroid Build Coastguard Worker d cur * value options(*string) xmlChar * 174*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 175*7c568831SAndroid Build Coastguard Worker 176*7c568831SAndroid Build Coastguard Worker d htmlSAXParseFile... 177*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlSAXParseFile') 178*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 179*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 180*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 181*7c568831SAndroid Build Coastguard Worker d sax value like(htmlSAXHandlerPtr) 182*7c568831SAndroid Build Coastguard Worker d userData * value void * 183*7c568831SAndroid Build Coastguard Worker 184*7c568831SAndroid Build Coastguard Worker d htmlParseFile pr extproc('htmlParseFile') 185*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 186*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 187*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 188*7c568831SAndroid Build Coastguard Worker 189*7c568831SAndroid Build Coastguard Worker d UTF8ToHtml pr extproc('UTF8ToHtml') 190*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 191*7c568831SAndroid Build Coastguard Worker d out 65535 options(*varsize) unsigned char [] 192*7c568831SAndroid Build Coastguard Worker d outlen like(xmlCint) 193*7c568831SAndroid Build Coastguard Worker d in * value options(*string) const unsigned char* 194*7c568831SAndroid Build Coastguard Worker d inlen like(xmlCint) 195*7c568831SAndroid Build Coastguard Worker 196*7c568831SAndroid Build Coastguard Worker d htmlEncodeEntities... 197*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlEncodeEntities') 198*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 199*7c568831SAndroid Build Coastguard Worker d out 65535 options(*varsize) unsigned char [] 200*7c568831SAndroid Build Coastguard Worker d outlen like(xmlCint) 201*7c568831SAndroid Build Coastguard Worker d in * value options(*string) const unsigned char* 202*7c568831SAndroid Build Coastguard Worker d inlen like(xmlCint) 203*7c568831SAndroid Build Coastguard Worker d quoteChar value like(xmlCint) 204*7c568831SAndroid Build Coastguard Worker 205*7c568831SAndroid Build Coastguard Worker d htmlIsScriptAttribute... 206*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlIsScriptAttribute') 207*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 208*7c568831SAndroid Build Coastguard Worker d name * value options(*string) const xmlChar * 209*7c568831SAndroid Build Coastguard Worker 210*7c568831SAndroid Build Coastguard Worker d htmlHandleOmittedElem... 211*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlHandleOmittedElem') 212*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 213*7c568831SAndroid Build Coastguard Worker d val value like(xmlCint) 214*7c568831SAndroid Build Coastguard Worker 215*7c568831SAndroid Build Coastguard Worker /if defined(LIBXML_PUSH_ENABLED) 216*7c568831SAndroid Build Coastguard Worker 217*7c568831SAndroid Build Coastguard Worker * Interfaces for the Push mode. 218*7c568831SAndroid Build Coastguard Worker 219*7c568831SAndroid Build Coastguard Worker d htmlCreatePushParserCtxt... 220*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlCreatePushParserCtxt') 221*7c568831SAndroid Build Coastguard Worker d like(htmlParserCtxtPtr) 222*7c568831SAndroid Build Coastguard Worker d sax value like(htmlSAXHandlerPtr) 223*7c568831SAndroid Build Coastguard Worker d user_data * value void * 224*7c568831SAndroid Build Coastguard Worker d chunk * value options(*string) const char * 225*7c568831SAndroid Build Coastguard Worker d size value like(xmlCint) 226*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 227*7c568831SAndroid Build Coastguard Worker d enc value like(xmlCharEncoding) 228*7c568831SAndroid Build Coastguard Worker 229*7c568831SAndroid Build Coastguard Worker d htmlParseChunk pr extproc('htmlParseChunk') 230*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 231*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 232*7c568831SAndroid Build Coastguard Worker d chunk * value options(*string) const char * 233*7c568831SAndroid Build Coastguard Worker d size value like(xmlCint) 234*7c568831SAndroid Build Coastguard Worker d terminate value like(xmlCint) 235*7c568831SAndroid Build Coastguard Worker /endif LIBXML_PUSH_ENABLED 236*7c568831SAndroid Build Coastguard Worker 237*7c568831SAndroid Build Coastguard Worker d htmlFreeParserCtxt... 238*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlFreeParserCtxt') 239*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 240*7c568831SAndroid Build Coastguard Worker 241*7c568831SAndroid Build Coastguard Worker * New set of simpler/more flexible APIs 242*7c568831SAndroid Build Coastguard Worker 243*7c568831SAndroid Build Coastguard Worker * xmlParserOption: 244*7c568831SAndroid Build Coastguard Worker * 245*7c568831SAndroid Build Coastguard Worker * This is the set of XML parser options that can be passed down 246*7c568831SAndroid Build Coastguard Worker * to the xmlReadDoc() and similar calls. 247*7c568831SAndroid Build Coastguard Worker 248*7c568831SAndroid Build Coastguard Worker d htmlParserOption... 249*7c568831SAndroid Build Coastguard Worker d s based(######typedef######) 250*7c568831SAndroid Build Coastguard Worker d like(xmlCenum) 251*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_RECOVER... Relaxed parsing 252*7c568831SAndroid Build Coastguard Worker d c X'00000001' 253*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_NODEFDTD... No default doctype 254*7c568831SAndroid Build Coastguard Worker d c X'00000004' 255*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_NOERROR... No error reports 256*7c568831SAndroid Build Coastguard Worker d c X'00000020' 257*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_NOWARNING... No warning reports 258*7c568831SAndroid Build Coastguard Worker d c X'00000040' 259*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_PEDANTIC... Pedantic err reports 260*7c568831SAndroid Build Coastguard Worker d c X'00000080' 261*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_NOBLANKS... Remove blank nodes 262*7c568831SAndroid Build Coastguard Worker d c X'00000100' 263*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_NONET... Forbid net access 264*7c568831SAndroid Build Coastguard Worker d c X'00000800' 265*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_NOIMPLIED... No implied html/body 266*7c568831SAndroid Build Coastguard Worker d c X'00002000' 267*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_COMPACT... compact small txtnod 268*7c568831SAndroid Build Coastguard Worker d c X'00010000' 269*7c568831SAndroid Build Coastguard Worker d HTML_PARSE_IGNORE_ENC... Ignore encoding hint 270*7c568831SAndroid Build Coastguard Worker d c X'00200000' 271*7c568831SAndroid Build Coastguard Worker 272*7c568831SAndroid Build Coastguard Worker d htmlCtxtReset pr extproc('htmlCtxtReset') 273*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 274*7c568831SAndroid Build Coastguard Worker 275*7c568831SAndroid Build Coastguard Worker d htmlCtxtUseOptions... 276*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlCtxtUseOptions') 277*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 278*7c568831SAndroid Build Coastguard Worker d ctxt value like(htmlParserCtxtPtr) 279*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 280*7c568831SAndroid Build Coastguard Worker 281*7c568831SAndroid Build Coastguard Worker d htmlReadDoc pr extproc('htmlReadDoc') 282*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 283*7c568831SAndroid Build Coastguard Worker d cur * value options(*string) const xmlChar * 284*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 285*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 286*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 287*7c568831SAndroid Build Coastguard Worker 288*7c568831SAndroid Build Coastguard Worker d htmlReadFile pr extproc('htmlReadFile') 289*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 290*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 291*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 292*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 293*7c568831SAndroid Build Coastguard Worker 294*7c568831SAndroid Build Coastguard Worker d htmlReadMemory pr extproc('htmlReadMemory') 295*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 296*7c568831SAndroid Build Coastguard Worker d buffer * value options(*string) const char * 297*7c568831SAndroid Build Coastguard Worker d size value like(xmlCint) 298*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 299*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 300*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 301*7c568831SAndroid Build Coastguard Worker 302*7c568831SAndroid Build Coastguard Worker d htmlReadFd pr extproc('htmlReadFd') 303*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 304*7c568831SAndroid Build Coastguard Worker d fd value like(xmlCint) 305*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 306*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 307*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 308*7c568831SAndroid Build Coastguard Worker 309*7c568831SAndroid Build Coastguard Worker d htmlReadIO pr extproc('htmlReadIO') 310*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 311*7c568831SAndroid Build Coastguard Worker d ioread value like(xmlInputReadCallback) 312*7c568831SAndroid Build Coastguard Worker d ioclose value like(xmlInputCloseCallback) 313*7c568831SAndroid Build Coastguard Worker d ioctx * value void * 314*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 315*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 316*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 317*7c568831SAndroid Build Coastguard Worker 318*7c568831SAndroid Build Coastguard Worker d htmlCtxtReadDoc... 319*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlCtxtReadDoc') 320*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 321*7c568831SAndroid Build Coastguard Worker d ctxt value like(xmlParserCtxtPtr) 322*7c568831SAndroid Build Coastguard Worker d cur * value options(*string) const xmlChar * 323*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 324*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 325*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 326*7c568831SAndroid Build Coastguard Worker 327*7c568831SAndroid Build Coastguard Worker d htmlCtxtReadFile... 328*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlCtxtReadFile') 329*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 330*7c568831SAndroid Build Coastguard Worker d ctxt value like(xmlParserCtxtPtr) 331*7c568831SAndroid Build Coastguard Worker d filename * value options(*string) const char * 332*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 333*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 334*7c568831SAndroid Build Coastguard Worker 335*7c568831SAndroid Build Coastguard Worker d htmlCtxtReadMemory... 336*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlCtxtReadMemory') 337*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 338*7c568831SAndroid Build Coastguard Worker d ctxt value like(xmlParserCtxtPtr) 339*7c568831SAndroid Build Coastguard Worker d buffer * value options(*string) const char * 340*7c568831SAndroid Build Coastguard Worker d size value like(xmlCint) 341*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 342*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 343*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 344*7c568831SAndroid Build Coastguard Worker 345*7c568831SAndroid Build Coastguard Worker d htmlCtxtReadFd pr extproc('htmlCtxtReadFd') 346*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 347*7c568831SAndroid Build Coastguard Worker d ctxt value like(xmlParserCtxtPtr) 348*7c568831SAndroid Build Coastguard Worker d fd value like(xmlCint) 349*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 350*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 351*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 352*7c568831SAndroid Build Coastguard Worker 353*7c568831SAndroid Build Coastguard Worker d htmlCtxtReadIO pr extproc('htmlCtxtReadIO') 354*7c568831SAndroid Build Coastguard Worker d like(htmlDocPtr) 355*7c568831SAndroid Build Coastguard Worker d ctxt value like(xmlParserCtxtPtr) 356*7c568831SAndroid Build Coastguard Worker d ioread value like(xmlInputReadCallback) 357*7c568831SAndroid Build Coastguard Worker d ioclose value like(xmlInputCloseCallback) 358*7c568831SAndroid Build Coastguard Worker d ioctx * value void * 359*7c568831SAndroid Build Coastguard Worker d URL * value options(*string) const char * 360*7c568831SAndroid Build Coastguard Worker d encoding * value options(*string) const char * 361*7c568831SAndroid Build Coastguard Worker d options value like(xmlCint) 362*7c568831SAndroid Build Coastguard Worker 363*7c568831SAndroid Build Coastguard Worker * Further knowledge of HTML structure 364*7c568831SAndroid Build Coastguard Worker 365*7c568831SAndroid Build Coastguard Worker d htmlStatus s based(######typedef######) 366*7c568831SAndroid Build Coastguard Worker d like(xmlCenum) 367*7c568831SAndroid Build Coastguard Worker d HTML_NA c X'0000' No check at all 368*7c568831SAndroid Build Coastguard Worker d HTML_INVALID c X'0001' 369*7c568831SAndroid Build Coastguard Worker d HTML_DEPRECATED... 370*7c568831SAndroid Build Coastguard Worker d c X'0002' 371*7c568831SAndroid Build Coastguard Worker d HTML_VALID c X'0004' 372*7c568831SAndroid Build Coastguard Worker d HTML_REQUIRED c X'000C' HTML_VALID ored-in 373*7c568831SAndroid Build Coastguard Worker 374*7c568831SAndroid Build Coastguard Worker * Using htmlElemDesc rather than name here, to emphasise the fact 375*7c568831SAndroid Build Coastguard Worker * that otherwise there's a lookup overhead 376*7c568831SAndroid Build Coastguard Worker 377*7c568831SAndroid Build Coastguard Worker d htmlAttrAllowed... 378*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlAttrAllowed') 379*7c568831SAndroid Build Coastguard Worker d like(htmlStatus) 380*7c568831SAndroid Build Coastguard Worker d #param1 value like(htmlElemDescPtr) const 381*7c568831SAndroid Build Coastguard Worker d #param2 * value options(*string) const xmlChar * 382*7c568831SAndroid Build Coastguard Worker d #param3 value like(xmlCint) 383*7c568831SAndroid Build Coastguard Worker 384*7c568831SAndroid Build Coastguard Worker d htmlElementAllowedHere... 385*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlElementAllowedHere') 386*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 387*7c568831SAndroid Build Coastguard Worker d #param1 value like(htmlElemDescPtr) const 388*7c568831SAndroid Build Coastguard Worker d #param2 * value options(*string) const xmlChar * 389*7c568831SAndroid Build Coastguard Worker 390*7c568831SAndroid Build Coastguard Worker d htmlElementStatusHere... 391*7c568831SAndroid Build Coastguard Worker d pr extproc('htmlElementStatusHere') 392*7c568831SAndroid Build Coastguard Worker d like(htmlStatus) 393*7c568831SAndroid Build Coastguard Worker d #param1 value like(htmlElemDescPtr) const 394*7c568831SAndroid Build Coastguard Worker d #param2 value like(htmlElemDescPtr) const 395*7c568831SAndroid Build Coastguard Worker 396*7c568831SAndroid Build Coastguard Worker d htmlNodeStatus pr extproc('htmlNodeStatus') 397*7c568831SAndroid Build Coastguard Worker d like(htmlStatus) 398*7c568831SAndroid Build Coastguard Worker d #param1 value like(htmlNodePtr) 399*7c568831SAndroid Build Coastguard Worker d #param2 value like(xmlCint) 400*7c568831SAndroid Build Coastguard Worker 401*7c568831SAndroid Build Coastguard Worker * C macros implemented as procedures for ILE/RPG support. 402*7c568831SAndroid Build Coastguard Worker 403*7c568831SAndroid Build Coastguard Worker d htmlDefaultSubelement... 404*7c568831SAndroid Build Coastguard Worker d pr * extproc('__htmlDefaultSubelement') const char * 405*7c568831SAndroid Build Coastguard Worker d elt * value const htmlElemDesc * 406*7c568831SAndroid Build Coastguard Worker 407*7c568831SAndroid Build Coastguard Worker d htmlElementAllowedHereDesc... 408*7c568831SAndroid Build Coastguard Worker d pr extproc( 409*7c568831SAndroid Build Coastguard Worker d '__htmlElementAllowedHereDesc') 410*7c568831SAndroid Build Coastguard Worker d like(xmlCint) 411*7c568831SAndroid Build Coastguard Worker d parent * value const htmlElemDesc * 412*7c568831SAndroid Build Coastguard Worker d elt * value const htmlElemDesc * 413*7c568831SAndroid Build Coastguard Worker 414*7c568831SAndroid Build Coastguard Worker d htmlRequiredAttrs... 415*7c568831SAndroid Build Coastguard Worker d pr * extproc('__htmlRequiredAttrs') const char * * 416*7c568831SAndroid Build Coastguard Worker d elt * value const htmlElemDesc * 417*7c568831SAndroid Build Coastguard Worker 418*7c568831SAndroid Build Coastguard Worker /endif LIBXML_HTML_ENABLED 419*7c568831SAndroid Build Coastguard Worker /endif HTML_PARSER_H__ 420