⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expat.h

📁 XML解析源代码expat2.01版,lib目录能用于C++代码中
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef LIBRARIES_EXPAT_H#define LIBRARIES_EXPAT_H/*** Copyright (c) 2001-2007 Expat maintainers.**** Permission is hereby granted, free of charge, to any person obtaining** a copy of this software and associated documentation files (the** "Software"), to deal in the Software without restriction, including** without limitation the rights to use, copy, modify, merge, publish,** distribute, sublicense, and/or sell copies of the Software, and to** permit persons to whom the Software is furnished to do so, subject to** the following conditions:** ** The above copyright notice and this permission notice shall be included** in all copies or substantial portions of the Software.** ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*//****************************************************************************/#ifdef __cplusplusextern "C" {#endif#ifdef __GNUC__   #ifdef __PPC__    #pragma pack(2)   #endif#elif defined(__VBCC__)   #pragma amiga-align#endif/****************************************************************************/#include <stdlib.h>#ifndef XMLCALL#define XMLCALL#endiftypedef char XML_Char;typedef char XML_LChar;typedef long XML_Index;typedef unsigned long XML_Size;struct XML_ParserStruct;typedef struct XML_ParserStruct *XML_Parser;typedef unsigned char XML_Bool;#define XML_TRUE   ((XML_Bool) 1)#define XML_FALSE  ((XML_Bool) 0)enum XML_Status {  XML_STATUS_ERROR = 0,#define XML_STATUS_ERROR XML_STATUS_ERROR  XML_STATUS_OK = 1,#define XML_STATUS_OK XML_STATUS_OK  XML_STATUS_SUSPENDED = 2,#define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED};enum XML_Error {  XML_ERROR_NONE,  XML_ERROR_NO_MEMORY,  XML_ERROR_SYNTAX,  XML_ERROR_NO_ELEMENTS,  XML_ERROR_INVALID_TOKEN,  XML_ERROR_UNCLOSED_TOKEN,  XML_ERROR_PARTIAL_CHAR,  XML_ERROR_TAG_MISMATCH,  XML_ERROR_DUPLICATE_ATTRIBUTE,  XML_ERROR_JUNK_AFTER_DOC_ELEMENT,  XML_ERROR_PARAM_ENTITY_REF,  XML_ERROR_UNDEFINED_ENTITY,  XML_ERROR_RECURSIVE_ENTITY_REF,  XML_ERROR_ASYNC_ENTITY,  XML_ERROR_BAD_CHAR_REF,  XML_ERROR_BINARY_ENTITY_REF,  XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,  XML_ERROR_MISPLACED_XML_PI,  XML_ERROR_UNKNOWN_ENCODING,  XML_ERROR_INCORRECT_ENCODING,  XML_ERROR_UNCLOSED_CDATA_SECTION,  XML_ERROR_EXTERNAL_ENTITY_HANDLING,  XML_ERROR_NOT_STANDALONE,  XML_ERROR_UNEXPECTED_STATE,  XML_ERROR_ENTITY_DECLARED_IN_PE,  XML_ERROR_FEATURE_REQUIRES_XML_DTD,  XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,  XML_ERROR_UNBOUND_PREFIX,  XML_ERROR_UNDECLARING_PREFIX,  XML_ERROR_INCOMPLETE_PE,  XML_ERROR_XML_DECL,  XML_ERROR_TEXT_DECL,  XML_ERROR_PUBLICID,  XML_ERROR_SUSPENDED,  XML_ERROR_NOT_SUSPENDED,  XML_ERROR_ABORTED,  XML_ERROR_FINISHED,  XML_ERROR_SUSPEND_PE,  XML_ERROR_RESERVED_PREFIX_XML,  XML_ERROR_RESERVED_PREFIX_XMLNS,  XML_ERROR_RESERVED_NAMESPACE_URI};enum XML_Content_Type {  XML_CTYPE_EMPTY = 1,  XML_CTYPE_ANY,  XML_CTYPE_MIXED,  XML_CTYPE_NAME,  XML_CTYPE_CHOICE,  XML_CTYPE_SEQ};enum XML_Content_Quant {  XML_CQUANT_NONE,  XML_CQUANT_OPT,  XML_CQUANT_REP,  XML_CQUANT_PLUS};typedef struct XML_cp XML_Content;struct XML_cp {  enum XML_Content_Type         type;  enum XML_Content_Quant        quant;  XML_Char *                    name;  unsigned int                  numchildren;  XML_Content *                 children;};typedef void (*XML_ElementDeclHandler) (void *userData,                                        const XML_Char *name,                                        XML_Content *model);voidXML_SetElementDeclHandler(XML_Parser parser,                          XML_ElementDeclHandler eldecl);typedef void (*XML_AttlistDeclHandler) (                                    void            *userData,                                    const XML_Char  *elname,                                    const XML_Char  *attname,                                    const XML_Char  *att_type,                                    const XML_Char  *dflt,                                    int              isrequired);voidXML_SetAttlistDeclHandler(XML_Parser parser,                          XML_AttlistDeclHandler attdecl);typedef void (*XML_XmlDeclHandler) (void *userData,                                    const XML_Char *version,                                    const XML_Char *encoding,                                    int             standalone);voidXML_SetXmlDeclHandler(XML_Parser parser,                      XML_XmlDeclHandler xmldecl);typedef struct {  void *(*malloc_fcn)(size_t size);  void *(*realloc_fcn)(void *ptr, size_t size);  void (*free_fcn)(void *ptr);} XML_Memory_Handling_Suite;XML_ParserXML_ParserCreate(const XML_Char *encoding);XML_ParserXML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);XML_ParserXML_ParserCreate_MM(const XML_Char *encoding,                    const XML_Memory_Handling_Suite *memsuite,                    const XML_Char *namespaceSeparator);XML_BoolXML_ParserReset(XML_Parser parser, const XML_Char *encoding);typedef void (*XML_StartElementHandler) (void *userData,                                         const XML_Char *name,                                         const XML_Char **atts);typedef void (*XML_EndElementHandler) (void *userData,                                       const XML_Char *name);typedef void (*XML_CharacterDataHandler) (void *userData,                                          const XML_Char *s,                                          int len);typedef void (*XML_ProcessingInstructionHandler) (                                                void *userData,                                                const XML_Char *target,                                                const XML_Char *data);typedef void (*XML_CommentHandler) (void *userData,                                    const XML_Char *data);typedef void (*XML_StartCdataSectionHandler) (void *userData);typedef void (*XML_EndCdataSectionHandler) (void *userData);typedef void (*XML_DefaultHandler) (void *userData,                                    const XML_Char *s,                                    int len);typedef void (*XML_StartDoctypeDeclHandler) (                                            void *userData,                                            const XML_Char *doctypeName,                                            const XML_Char *sysid,                                            const XML_Char *pubid,                                            int has_internal_subset);typedef void (*XML_EndDoctypeDeclHandler)(void *userData);typedef void (*XML_EntityDeclHandler) (                              void *userData,                              const XML_Char *entityName,                              int is_parameter_entity,                              const XML_Char *value,                              int value_length,                              const XML_Char *base,                              const XML_Char *systemId,                              const XML_Char *publicId,                              const XML_Char *notationName);voidXML_SetEntityDeclHandler(XML_Parser parser,                         XML_EntityDeclHandler handler);typedef void (*XML_UnparsedEntityDeclHandler) (                                    void *userData,                                    const XML_Char *entityName,                                    const XML_Char *base,                                    const XML_Char *systemId,                                    const XML_Char *publicId,                                    const XML_Char *notationName);typedef void (*XML_NotationDeclHandler) (                                    void *userData,                                    const XML_Char *notationName,                                    const XML_Char *base,                                    const XML_Char *systemId,                                    const XML_Char *publicId);typedef void (*XML_StartNamespaceDeclHandler) (                                    void *userData,                                    const XML_Char *prefix,                                    const XML_Char *uri);typedef void (*XML_EndNamespaceDeclHandler) (                                    void *userData,                                    const XML_Char *prefix);typedef int (*XML_NotStandaloneHandler) (void *userData);typedef int (*XML_ExternalEntityRefHandler) (                                    XML_Parser parser,                                    const XML_Char *context,                                    const XML_Char *base,                                    const XML_Char *systemId,                                    const XML_Char *publicId);typedef void (*XML_SkippedEntityHandler) (                                    void *userData,                                    const XML_Char *entityName,                                    int is_parameter_entity);typedef struct {  int map[256];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -