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