📄 expat.h
字号:
XML_NotStandaloneHandler handler);XMLPARSEAPI(void)XML_SetExternalEntityRefHandler(XML_Parser parser, XML_ExternalEntityRefHandler handler);/* If a non-NULL value for arg is specified here, then it will be passed as the first argument to the external entity ref handler instead of the parser object.*/XMLPARSEAPI(void)XML_SetExternalEntityRefHandlerArg(XML_Parser, void *arg);XMLPARSEAPI(void)XML_SetSkippedEntityHandler(XML_Parser parser, XML_SkippedEntityHandler handler);XMLPARSEAPI(void)XML_SetUnknownEncodingHandler(XML_Parser parser, XML_UnknownEncodingHandler handler, void *encodingHandlerData);/* This can be called within a handler for a start element, end element, processing instruction or character data. It causes the corresponding markup to be passed to the default handler.*/XMLPARSEAPI(void)XML_DefaultCurrent(XML_Parser parser);/* If do_nst is non-zero, and namespace processing is in effect, and a name has a prefix (i.e. an explicit namespace qualifier) then that name is returned as a triplet in a single string separated by the separator character specified when the parser was created: URI + sep + local_name + sep + prefix. If do_nst is zero, then namespace information is returned in the default manner (URI + sep + local_name) whether or not the name has a prefix. Note: Calling XML_SetReturnNSTriplet after XML_Parse or XML_ParseBuffer has no effect.*/XMLPARSEAPI(void)XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);/* This value is passed as the userData argument to callbacks. */XMLPARSEAPI(void)XML_SetUserData(XML_Parser parser, void *userData);/* Returns the last value set by XML_SetUserData or NULL. */#define XML_GetUserData(parser) (*(void **)(parser))/* This is equivalent to supplying an encoding argument to XML_ParserCreate. On success XML_SetEncoding returns non-zero, zero otherwise. Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer has no effect and returns XML_STATUS_ERROR.*/XMLPARSEAPI(enum XML_Status)XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);/* If this function is called, then the parser will be passed as the first argument to callbacks instead of userData. The userData will still be accessible using XML_GetUserData.*/XMLPARSEAPI(void)XML_UseParserAsHandlerArg(XML_Parser parser);/* If useDTD == XML_TRUE is passed to this function, then the parser will assume that there is an external subset, even if none is specified in the document. In such a case the parser will call the externalEntityRefHandler with a value of NULL for the systemId argument (the publicId and context arguments will be NULL as well). Note: If this function is called, then this must be done before the first call to XML_Parse or XML_ParseBuffer, since it will have no effect after that. Returns XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING. Note: If the document does not have a DOCTYPE declaration at all, then startDoctypeDeclHandler and endDoctypeDeclHandler will not be called, despite an external subset being parsed. Note: If XML_DTD is not defined when Expat is compiled, returns XML_ERROR_FEATURE_REQUIRES_XML_DTD.*/XMLPARSEAPI(enum XML_Error)XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);/* Sets the base to be used for resolving relative URIs in system identifiers in declarations. Resolving relative identifiers is left to the application: this value will be passed through as the base argument to the XML_ExternalEntityRefHandler, XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base argument will be copied. Returns XML_STATUS_ERROR if out of memory, XML_STATUS_OK otherwise.*/XMLPARSEAPI(enum XML_Status)XML_SetBase(XML_Parser parser, const XML_Char *base);XMLPARSEAPI(const XML_Char *)XML_GetBase(XML_Parser parser);/* Returns the number of the attribute/value pairs passed in last call to the XML_StartElementHandler that were specified in the start-tag rather than defaulted. Each attribute/value pair counts as 2; thus this correspondds to an index into the atts array passed to the XML_StartElementHandler.*/XMLPARSEAPI(int)XML_GetSpecifiedAttributeCount(XML_Parser parser);/* Returns the index of the ID attribute passed in the last call to XML_StartElementHandler, or -1 if there is no ID attribute. Each attribute/value pair counts as 2; thus this correspondds to an index into the atts array passed to the XML_StartElementHandler.*/XMLPARSEAPI(int)XML_GetIdAttributeIndex(XML_Parser parser);XMLPARSEAPI(enum XML_Status)XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);XMLPARSEAPI(void *)XML_GetBuffer(XML_Parser parser, int len);XMLPARSEAPI(enum XML_Status)XML_ParseBuffer(XML_Parser parser, int len, int isFinal);/* Creates an XML_Parser object that can parse an external general entity; context is a '\0'-terminated string specifying the parse context; encoding is a '\0'-terminated string giving the name of the externally specified encoding, or NULL if there is no externally specified encoding. The context string consists of a sequence of tokens separated by formfeeds (\f); a token consisting of a name specifies that the general entity of the name is open; a token of the form prefix=uri specifies the namespace for a particular prefix; a token of the form =uri specifies the default namespace. This can be called at any point after the first call to an ExternalEntityRefHandler so longer as the parser has not yet been freed. The new parser is completely independent and may safely be used in a separate thread. The handlers and userData are initialized from the parser argument. Returns NULL if out of memory. Otherwise returns a new XML_Parser object.*/XMLPARSEAPI(XML_Parser)XML_ExternalEntityParserCreate(XML_Parser parser, const XML_Char *context, const XML_Char *encoding);enum XML_ParamEntityParsing { XML_PARAM_ENTITY_PARSING_NEVER, XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE, XML_PARAM_ENTITY_PARSING_ALWAYS};/* Controls parsing of parameter entities (including the external DTD subset). If parsing of parameter entities is enabled, then references to external parameter entities (including the external DTD subset) will be passed to the handler set with XML_SetExternalEntityRefHandler. The context passed will be 0. Unlike external general entities, external parameter entities can only be parsed synchronously. If the external parameter entity is to be parsed, it must be parsed during the call to the external entity ref handler: the complete sequence of XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and XML_ParserFree calls must be made during this call. After XML_ExternalEntityParserCreate has been called to create the parser for the external parameter entity (context must be 0 for this call), it is illegal to make any calls on the old parser until XML_ParserFree has been called on the newly created parser. If the library has been compiled without support for parameter entity parsing (ie without XML_DTD being defined), then XML_SetParamEntityParsing will return 0 if parsing of parameter entities is requested; otherwise it will return non-zero. Note: If XML_SetParamEntityParsing is called after XML_Parse or XML_ParseBuffer, then it has no effect and will always return 0.*/XMLPARSEAPI(int)XML_SetParamEntityParsing(XML_Parser parser, enum XML_ParamEntityParsing parsing);/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then XML_GetErrorCode returns information about the error.*/XMLPARSEAPI(enum XML_Error)XML_GetErrorCode(XML_Parser parser);/* These functions return information about the current parse location. They may be called from any callback called to report some parse event; in this case the location is the location of the first of the sequence of characters that generated the event. They may also be called after returning from a call to XML_Parse or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then the location is the location of the character at which the error was detected; otherwise the location is the location of the last parse event, as described above.*/XMLPARSEAPI(int) XML_GetCurrentLineNumber(XML_Parser parser);XMLPARSEAPI(int) XML_GetCurrentColumnNumber(XML_Parser parser);XMLPARSEAPI(long) XML_GetCurrentByteIndex(XML_Parser parser);/* Return the number of bytes in the current event. Returns 0 if the event is in an internal entity.*/XMLPARSEAPI(int)XML_GetCurrentByteCount(XML_Parser parser);/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets the integer pointed to by offset to the offset within this buffer of the current parse position, and sets the integer pointed to by size to the size of this buffer (the number of input bytes). Otherwise returns a NULL pointer. Also returns a NULL pointer if a parse isn't active. NOTE: The character pointer returned should not be used outside the handler that makes the call.*/XMLPARSEAPI(const char *)XML_GetInputContext(XML_Parser parser, int *offset, int *size);/* For backwards compatibility with previous versions. */#define XML_GetErrorLineNumber XML_GetCurrentLineNumber#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber#define XML_GetErrorByteIndex XML_GetCurrentByteIndex/* Frees the content model passed to the element declaration handler */XMLPARSEAPI(void)XML_FreeContentModel(XML_Parser parser, XML_Content *model);/* Exposing the memory handling functions used in Expat */XMLPARSEAPI(void *)XML_MemMalloc(XML_Parser parser, size_t size);XMLPARSEAPI(void *)XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);XMLPARSEAPI(void)XML_MemFree(XML_Parser parser, void *ptr);/* Frees memory used by the parser. */XMLPARSEAPI(void)XML_ParserFree(XML_Parser parser);/* Returns a string describing the error. */XMLPARSEAPI(const XML_LChar *)XML_ErrorString(enum XML_Error code);/* Return a string containing the version number of this expat */XMLPARSEAPI(const XML_LChar *)XML_ExpatVersion(void);typedef struct { int major; int minor; int micro;} XML_Expat_Version;/* Return an XML_Expat_Version structure containing numeric version number information for this version of expat.*/XMLPARSEAPI(XML_Expat_Version)XML_ExpatVersionInfo(void);/* Added in Expat 1.95.5. */enum XML_FeatureEnum { XML_FEATURE_END = 0, XML_FEATURE_UNICODE, XML_FEATURE_UNICODE_WCHAR_T, XML_FEATURE_DTD, XML_FEATURE_CONTEXT_BYTES, XML_FEATURE_MIN_SIZE, XML_FEATURE_SIZEOF_XML_CHAR, XML_FEATURE_SIZEOF_XML_LCHAR /* Additional features must be added to the end of this enum. */};typedef struct { enum XML_FeatureEnum feature; const XML_LChar *name; long int value;} XML_Feature;XMLPARSEAPI(const XML_Feature *)XML_GetFeatureList(void);/* Expat follows the GNU/Linux convention of odd number minor version for beta/development releases and even number minor version for stable releases. Micro is bumped with each release, and set to 0 with each change to major or minor version.*/#define XML_MAJOR_VERSION 1#define XML_MINOR_VERSION 95#define XML_MICRO_VERSION 6#ifdef __cplusplus}#endif#endif /* not XmlParse_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -