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

📄 xmlio.h.svn-base

📁 这是一个用于解析xml文件的类库。使用这个类库
💻 SVN-BASE
字号:
/* * Summary: interface for the I/O interfaces used by the parser * Description: interface for the I/O interfaces used by the parser * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */#ifndef __XML_IO_H__#define __XML_IO_H__#include <stdio.h>#include <libxml/xmlversion.h>#ifdef __cplusplusextern "C" {#endif/* * Those are the functions and datatypes for the parser input * I/O structures. *//** * xmlInputMatchCallback: * @filename: the filename or URI * * Callback used in the I/O Input API to detect if the current handler  * can provide input fonctionnalities for this resource. * * Returns 1 if yes and 0 if another Input module should be used */typedef int (*xmlInputMatchCallback) (char const *filename);/** * xmlInputOpenCallback: * @filename: the filename or URI * * Callback used in the I/O Input API to open the resource * * Returns an Input context or NULL in case or error */typedef void * (*xmlInputOpenCallback) (char const *filename);/** * xmlInputReadCallback: * @context:  an Input context * @buffer:  the buffer to store data read * @len:  the length of the buffer in bytes * * Callback used in the I/O Input API to read the resource * * Returns the number of bytes read or -1 in case of error */typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);/** * xmlInputCloseCallback: * @context:  an Input context * * Callback used in the I/O Input API to close the resource * * Returns 0 or -1 in case of error */typedef int (*xmlInputCloseCallback) (void * context);#ifdef LIBXML_OUTPUT_ENABLED/* * Those are the functions and datatypes for the library output * I/O structures. *//** * xmlOutputMatchCallback: * @filename: the filename or URI * * Callback used in the I/O Output API to detect if the current handler  * can provide output fonctionnalities for this resource. * * Returns 1 if yes and 0 if another Output module should be used */typedef int (*xmlOutputMatchCallback) (char const *filename);/** * xmlOutputOpenCallback: * @filename: the filename or URI * * Callback used in the I/O Output API to open the resource * * Returns an Output context or NULL in case or error */typedef void * (*xmlOutputOpenCallback) (char const *filename);/** * xmlOutputWriteCallback: * @context:  an Output context * @buffer:  the buffer of data to write * @len:  the length of the buffer in bytes * * Callback used in the I/O Output API to write to the resource * * Returns the number of bytes written or -1 in case of error */typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,                                       int len);/** * xmlOutputCloseCallback: * @context:  an Output context * * Callback used in the I/O Output API to close the resource * * Returns 0 or -1 in case of error */typedef int (*xmlOutputCloseCallback) (void * context);#endif /* LIBXML_OUTPUT_ENABLED */#ifdef __cplusplus}#endif#include <libxml/globals.h>#include <libxml/tree.h>#include <libxml/parser.h>#include <libxml/encoding.h>#ifdef __cplusplusextern "C" {#endifstruct _xmlParserInputBuffer {    void*                  context;    xmlInputReadCallback   readcallback;    xmlInputCloseCallback  closecallback;        xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */        xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 */    xmlBufferPtr raw;       /* if encoder != NULL buffer for raw input */    int	compressed;	    /* -1=unknown, 0=not compressed, 1=compressed */    int error;    unsigned long rawconsumed;/* amount consumed from raw */};#ifdef LIBXML_OUTPUT_ENABLEDstruct _xmlOutputBuffer {    void*                   context;    xmlOutputWriteCallback  writecallback;    xmlOutputCloseCallback  closecallback;        xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */        xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */    xmlBufferPtr conv;      /* if encoder != NULL buffer for output */    int written;            /* total number of byte written */    int error;};#endif /* LIBXML_OUTPUT_ENABLED *//* * Interfaces for input */XMLPUBFUN void XMLCALL		xmlCleanupInputCallbacks		(void);XMLPUBFUN int XMLCALL	xmlPopInputCallbacks			(void);XMLPUBFUN void XMLCALL		xmlRegisterDefaultInputCallbacks	(void);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlAllocParserInputBuffer		(xmlCharEncoding enc);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlParserInputBufferCreateFilename	(const char *URI,                                                 xmlCharEncoding enc);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlParserInputBufferCreateFile		(FILE *file,                                                 xmlCharEncoding enc);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlParserInputBufferCreateFd		(int fd,	                                         xmlCharEncoding enc);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlParserInputBufferCreateMem		(const char *mem, int size,	                                         xmlCharEncoding enc);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlParserInputBufferCreateStatic	(const char *mem, int size,	                                         xmlCharEncoding enc);XMLPUBFUN xmlParserInputBufferPtr XMLCALL	xmlParserInputBufferCreateIO		(xmlInputReadCallback   ioread,						 xmlInputCloseCallback  ioclose,						 void *ioctx,	                                         xmlCharEncoding enc);XMLPUBFUN int XMLCALL		xmlParserInputBufferRead		(xmlParserInputBufferPtr in,						 int len);XMLPUBFUN int XMLCALL		xmlParserInputBufferGrow		(xmlParserInputBufferPtr in,						 int len);XMLPUBFUN int XMLCALL		xmlParserInputBufferPush		(xmlParserInputBufferPtr in,						 int len,						 const char *buf);XMLPUBFUN void XMLCALL		xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);XMLPUBFUN char * XMLCALL		xmlParserGetDirectory			(const char *filename);#ifndef _TEMP_XMLPUBFUN int XMLCALL     	xmlRegisterInputCallbacks		(xmlInputMatchCallback matchFunc,						 xmlInputOpenCallback openFunc,						 xmlInputReadCallback readFunc,						 xmlInputCloseCallback closeFunc);#endif#ifdef LIBXML_OUTPUT_ENABLED/* * Interfaces for output */XMLPUBFUN void XMLCALL		xmlCleanupOutputCallbacks		(void);XMLPUBFUN void XMLCALL		xmlRegisterDefaultOutputCallbacks(void);XMLPUBFUN xmlOutputBufferPtr XMLCALL	xmlAllocOutputBuffer		(xmlCharEncodingHandlerPtr encoder);XMLPUBFUN xmlOutputBufferPtr XMLCALL	xmlOutputBufferCreateFilename	(const char *URI,					 xmlCharEncodingHandlerPtr encoder,					 int compression);XMLPUBFUN xmlOutputBufferPtr XMLCALL	xmlOutputBufferCreateFile	(FILE *file,					 xmlCharEncodingHandlerPtr encoder);XMLPUBFUN xmlOutputBufferPtr XMLCALL	xmlOutputBufferCreateFd		(int fd,					 xmlCharEncodingHandlerPtr encoder);XMLPUBFUN xmlOutputBufferPtr XMLCALL	xmlOutputBufferCreateIO		(xmlOutputWriteCallback   iowrite,					 xmlOutputCloseCallback  ioclose,					 void *ioctx,					 xmlCharEncodingHandlerPtr encoder);XMLPUBFUN int XMLCALL		xmlOutputBufferWrite		(xmlOutputBufferPtr out,					 int len,					 const char *buf);XMLPUBFUN int XMLCALL		xmlOutputBufferWriteString	(xmlOutputBufferPtr out,					 const char *str);XMLPUBFUN int XMLCALL		xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out,					 const xmlChar *str,					 xmlCharEncodingOutputFunc escaping);XMLPUBFUN int XMLCALL		xmlOutputBufferFlush		(xmlOutputBufferPtr out);XMLPUBFUN int XMLCALL		xmlOutputBufferClose		(xmlOutputBufferPtr out);XMLPUBFUN int XMLCALL     	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc,					 xmlOutputOpenCallback openFunc,					 xmlOutputWriteCallback writeFunc,					 xmlOutputCloseCallback closeFunc);#endif /* LIBXML_OUTPUT_ENABLED *//*  This function only exists if HTTP support built into the library  */#ifdef LIBXML_HTTP_ENABLEDXMLPUBFUN void * XMLCALL		xmlIOHTTPOpenW			(const char * post_uri,					 int   compression );XMLPUBFUN void XMLCALL		xmlRegisterHTTPPostCallbacks	(void );#endifXMLPUBFUN xmlParserInputPtr XMLCALL	xmlCheckHTTPInput		(xmlParserCtxtPtr ctxt,					 xmlParserInputPtr ret);/* * A predefined entity loader disabling network accesses */XMLPUBFUN xmlParserInputPtr XMLCALL 	xmlNoNetExternalEntityLoader	(const char *URL,					 const char *ID,					 xmlParserCtxtPtr ctxt);/*  * xmlNormalizeWindowsPath is obsolete, don't use it.  * Check xmlCanonicPath in uri.h for a better alternative. */XMLPUBFUN xmlChar * XMLCALL 	xmlNormalizeWindowsPath		(const xmlChar *path);XMLPUBFUN int XMLCALL		xmlCheckFilename		(const char *path);/** * Default 'file://' protocol callbacks  */XMLPUBFUN int XMLCALL		xmlFileMatch 			(const char *filename);XMLPUBFUN void * XMLCALL		xmlFileOpen 			(const char *filename);XMLPUBFUN int XMLCALL		xmlFileRead 			(void * context, 					 char * buffer, 					 int len);XMLPUBFUN int XMLCALL		xmlFileClose 			(void * context);/** * Default 'http://' protocol callbacks  */#ifdef LIBXML_HTTP_ENABLEDXMLPUBFUN int XMLCALL		xmlIOHTTPMatch 			(const char *filename);XMLPUBFUN void * XMLCALL		xmlIOHTTPOpen 			(const char *filename);XMLPUBFUN int XMLCALL 		xmlIOHTTPRead			(void * context, 					 char * buffer, 					 int len);XMLPUBFUN int XMLCALL		xmlIOHTTPClose 			(void * context);#endif /* LIBXML_HTTP_ENABLED *//** * Default 'ftp://' protocol callbacks  */#ifdef LIBXML_FTP_ENABLED XMLPUBFUN int XMLCALL		xmlIOFTPMatch 			(const char *filename);XMLPUBFUN void * XMLCALL		xmlIOFTPOpen 			(const char *filename);XMLPUBFUN int XMLCALL 		xmlIOFTPRead			(void * context, 					 char * buffer, 					 int len);XMLPUBFUN int XMLCALL 		xmlIOFTPClose 			(void * context);#endif /* LIBXML_FTP_ENABLED */#ifdef __cplusplus}#endif#endif /* __XML_IO_H__ */

⌨️ 快捷键说明

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