1*7c568831SAndroid Build Coastguard Worker #ifndef XML_PARSER_H_PRIVATE__ 2*7c568831SAndroid Build Coastguard Worker #define XML_PARSER_H_PRIVATE__ 3*7c568831SAndroid Build Coastguard Worker 4*7c568831SAndroid Build Coastguard Worker #include <libxml/parser.h> 5*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h> 6*7c568831SAndroid Build Coastguard Worker 7*7c568831SAndroid Build Coastguard Worker #define XML_INVALID_CHAR 0x200000 8*7c568831SAndroid Build Coastguard Worker 9*7c568831SAndroid Build Coastguard Worker #define XML_MAX_URI_LENGTH 2000 10*7c568831SAndroid Build Coastguard Worker 11*7c568831SAndroid Build Coastguard Worker /** 12*7c568831SAndroid Build Coastguard Worker * XML_VCTXT_DTD_VALIDATED: 13*7c568831SAndroid Build Coastguard Worker * 14*7c568831SAndroid Build Coastguard Worker * Set after xmlValidateDtdFinal was called. 15*7c568831SAndroid Build Coastguard Worker */ 16*7c568831SAndroid Build Coastguard Worker #define XML_VCTXT_DTD_VALIDATED (1u << 0) 17*7c568831SAndroid Build Coastguard Worker /** 18*7c568831SAndroid Build Coastguard Worker * XML_VCTXT_USE_PCTXT: 19*7c568831SAndroid Build Coastguard Worker * 20*7c568831SAndroid Build Coastguard Worker * Set if the validation context is part of a parser context. 21*7c568831SAndroid Build Coastguard Worker */ 22*7c568831SAndroid Build Coastguard Worker #define XML_VCTXT_USE_PCTXT (1u << 1) 23*7c568831SAndroid Build Coastguard Worker 24*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_HAS_ENCODING (1u << 0) 25*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_AUTO_ENCODING (7u << 1) 26*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_AUTO_UTF8 (1u << 1) 27*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_AUTO_UTF16LE (2u << 1) 28*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_AUTO_UTF16BE (3u << 1) 29*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_AUTO_OTHER (4u << 1) 30*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_USES_ENC_DECL (1u << 4) 31*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_ENCODING_ERROR (1u << 5) 32*7c568831SAndroid Build Coastguard Worker #define XML_INPUT_PROGRESSIVE (1u << 6) 33*7c568831SAndroid Build Coastguard Worker 34*7c568831SAndroid Build Coastguard Worker #define PARSER_STOPPED(ctxt) ((ctxt)->disableSAX > 1) 35*7c568831SAndroid Build Coastguard Worker 36*7c568831SAndroid Build Coastguard Worker #define PARSER_PROGRESSIVE(ctxt) \ 37*7c568831SAndroid Build Coastguard Worker ((ctxt)->input->flags & XML_INPUT_PROGRESSIVE) 38*7c568831SAndroid Build Coastguard Worker 39*7c568831SAndroid Build Coastguard Worker #define PARSER_IN_PE(ctxt) \ 40*7c568831SAndroid Build Coastguard Worker (((ctxt)->input->entity != NULL) && \ 41*7c568831SAndroid Build Coastguard Worker (((ctxt)->input->entity->etype == XML_INTERNAL_PARAMETER_ENTITY) || \ 42*7c568831SAndroid Build Coastguard Worker ((ctxt)->input->entity->etype == XML_EXTERNAL_PARAMETER_ENTITY))) 43*7c568831SAndroid Build Coastguard Worker 44*7c568831SAndroid Build Coastguard Worker #define PARSER_EXTERNAL(ctxt) \ 45*7c568831SAndroid Build Coastguard Worker (((ctxt)->inSubset == 2) || \ 46*7c568831SAndroid Build Coastguard Worker (((ctxt)->input->entity != NULL) && \ 47*7c568831SAndroid Build Coastguard Worker ((ctxt)->input->entity->etype == XML_EXTERNAL_PARAMETER_ENTITY))) 48*7c568831SAndroid Build Coastguard Worker 49*7c568831SAndroid Build Coastguard Worker struct _xmlAttrHashBucket { 50*7c568831SAndroid Build Coastguard Worker int index; 51*7c568831SAndroid Build Coastguard Worker }; 52*7c568831SAndroid Build Coastguard Worker 53*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 54*7c568831SAndroid Build Coastguard Worker xmlCtxtVErr(xmlParserCtxtPtr ctxt, xmlNodePtr node, xmlErrorDomain domain, 55*7c568831SAndroid Build Coastguard Worker xmlParserErrors code, xmlErrorLevel level, 56*7c568831SAndroid Build Coastguard Worker const xmlChar *str1, const xmlChar *str2, const xmlChar *str3, 57*7c568831SAndroid Build Coastguard Worker int int1, const char *msg, va_list ap); 58*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 59*7c568831SAndroid Build Coastguard Worker xmlCtxtErr(xmlParserCtxtPtr ctxt, xmlNodePtr node, xmlErrorDomain domain, 60*7c568831SAndroid Build Coastguard Worker xmlParserErrors code, xmlErrorLevel level, 61*7c568831SAndroid Build Coastguard Worker const xmlChar *str1, const xmlChar *str2, const xmlChar *str3, 62*7c568831SAndroid Build Coastguard Worker int int1, const char *msg, ...); 63*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 64*7c568831SAndroid Build Coastguard Worker xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info); 65*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void LIBXML_ATTR_FORMAT(3,0) 66*7c568831SAndroid Build Coastguard Worker xmlWarningMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error, 67*7c568831SAndroid Build Coastguard Worker const char *msg, const xmlChar *str1, const xmlChar *str2); 68*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 69*7c568831SAndroid Build Coastguard Worker xmlCtxtErrIO(xmlParserCtxtPtr ctxt, int code, const char *uri); 70*7c568831SAndroid Build Coastguard Worker 71*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 72*7c568831SAndroid Build Coastguard Worker xmlHaltParser(xmlParserCtxtPtr ctxt); 73*7c568831SAndroid Build Coastguard Worker XML_HIDDEN int 74*7c568831SAndroid Build Coastguard Worker xmlParserGrow(xmlParserCtxtPtr ctxt); 75*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 76*7c568831SAndroid Build Coastguard Worker xmlParserShrink(xmlParserCtxtPtr ctxt); 77*7c568831SAndroid Build Coastguard Worker 78*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 79*7c568831SAndroid Build Coastguard Worker xmlDetectEncoding(xmlParserCtxtPtr ctxt); 80*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 81*7c568831SAndroid Build Coastguard Worker xmlSetDeclaredEncoding(xmlParserCtxtPtr ctxt, xmlChar *encoding); 82*7c568831SAndroid Build Coastguard Worker XML_HIDDEN const xmlChar * 83*7c568831SAndroid Build Coastguard Worker xmlGetActualEncoding(xmlParserCtxtPtr ctxt); 84*7c568831SAndroid Build Coastguard Worker 85*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserNsData * 86*7c568831SAndroid Build Coastguard Worker xmlParserNsCreate(void); 87*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void 88*7c568831SAndroid Build Coastguard Worker xmlParserNsFree(xmlParserNsData *nsdb); 89*7c568831SAndroid Build Coastguard Worker /* 90*7c568831SAndroid Build Coastguard Worker * These functions allow SAX handlers to attach extra data to namespaces 91*7c568831SAndroid Build Coastguard Worker * efficiently and should be made public. 92*7c568831SAndroid Build Coastguard Worker */ 93*7c568831SAndroid Build Coastguard Worker XML_HIDDEN int 94*7c568831SAndroid Build Coastguard Worker xmlParserNsUpdateSax(xmlParserCtxtPtr ctxt, const xmlChar *prefix, 95*7c568831SAndroid Build Coastguard Worker void *saxData); 96*7c568831SAndroid Build Coastguard Worker XML_HIDDEN void * 97*7c568831SAndroid Build Coastguard Worker xmlParserNsLookupSax(xmlParserCtxtPtr ctxt, const xmlChar *prefix); 98*7c568831SAndroid Build Coastguard Worker 99*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 100*7c568831SAndroid Build Coastguard Worker xmlLoadResource(xmlParserCtxtPtr ctxt, const char *url, const char *publicId, 101*7c568831SAndroid Build Coastguard Worker xmlResourceType type); 102*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 103*7c568831SAndroid Build Coastguard Worker xmlCtxtNewInputFromUrl(xmlParserCtxtPtr ctxt, const char *url, 104*7c568831SAndroid Build Coastguard Worker const char *publicId, const char *encoding, int flags); 105*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 106*7c568831SAndroid Build Coastguard Worker xmlCtxtNewInputFromMemory(xmlParserCtxtPtr ctxt, const char *url, 107*7c568831SAndroid Build Coastguard Worker const void *mem, size_t size, 108*7c568831SAndroid Build Coastguard Worker const char *encoding, int flags); 109*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 110*7c568831SAndroid Build Coastguard Worker xmlCtxtNewInputFromString(xmlParserCtxtPtr ctxt, const char *url, 111*7c568831SAndroid Build Coastguard Worker const char *str, const char *encoding, int flags); 112*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 113*7c568831SAndroid Build Coastguard Worker xmlCtxtNewInputFromFd(xmlParserCtxtPtr ctxt, const char *filename, int fd, 114*7c568831SAndroid Build Coastguard Worker const char *encoding, int flags); 115*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 116*7c568831SAndroid Build Coastguard Worker xmlCtxtNewInputFromIO(xmlParserCtxtPtr ctxt, const char *url, 117*7c568831SAndroid Build Coastguard Worker xmlInputReadCallback ioRead, 118*7c568831SAndroid Build Coastguard Worker xmlInputCloseCallback ioClose, 119*7c568831SAndroid Build Coastguard Worker void *ioCtxt, 120*7c568831SAndroid Build Coastguard Worker const char *encoding, int flags); 121*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlParserInputPtr 122*7c568831SAndroid Build Coastguard Worker xmlNewPushInput(const char *url, const char *chunk, int size); 123*7c568831SAndroid Build Coastguard Worker 124*7c568831SAndroid Build Coastguard Worker XML_HIDDEN xmlChar * 125*7c568831SAndroid Build Coastguard Worker xmlExpandEntitiesInAttValue(xmlParserCtxtPtr ctxt, const xmlChar *str, 126*7c568831SAndroid Build Coastguard Worker int normalize); 127*7c568831SAndroid Build Coastguard Worker 128*7c568831SAndroid Build Coastguard Worker #endif /* XML_PARSER_H_PRIVATE__ */ 129