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

📄 xmlio.h

📁 下载来的一个看图软件的源代码
💻 H
字号:
/* * xmlIO.h : interface for the I/O interfaces used by the parser * * See Copyright for the status of this software. * * daniel@veillard.com * * 15 Nov 2000 ht - modified for VMS */#ifndef __XML_IO_H__#define __XML_IO_H__#include <stdio.h>#if defined(WIN32) && defined(_MSC_VER)#include <libxml/xmlwin32version.h>#else#include <libxml/xmlversion.h>#endif#include <libxml/tree.h>#include <libxml/parser.h>#include <libxml/encoding.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);struct _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 */};/* * 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);struct _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 */};/* * Interfaces for input */void	xmlCleanupInputCallbacks		(void);void	xmlCleanupOutputCallbacks		(void);void	xmlRegisterDefaultInputCallbacks	(void);xmlParserInputBufferPtr	xmlAllocParserInputBuffer		(xmlCharEncoding enc);#ifdef VMSxmlParserInputBufferPtr	xmlParserInputBufferCreateFname		(const char *URI,                                                 xmlCharEncoding enc);#define xmlParserInputBufferCreateFilename xmlParserInputBufferCreateFname#elsexmlParserInputBufferPtr	xmlParserInputBufferCreateFilename	(const char *URI,                                                 xmlCharEncoding enc);#endifxmlParserInputBufferPtr	xmlParserInputBufferCreateFile		(FILE *file,                                                 xmlCharEncoding enc);xmlParserInputBufferPtr	xmlParserInputBufferCreateFd		(int fd,	                                         xmlCharEncoding enc);xmlParserInputBufferPtr	xmlParserInputBufferCreateMem		(const char *mem, int size,	                                         xmlCharEncoding enc);xmlParserInputBufferPtr	xmlParserInputBufferCreateIO		(xmlInputReadCallback   ioread,						 xmlInputCloseCallback  ioclose,						 void *ioctx,	                                         xmlCharEncoding enc);int	xmlParserInputBufferRead		(xmlParserInputBufferPtr in,						 int len);int	xmlParserInputBufferGrow		(xmlParserInputBufferPtr in,						 int len);int	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,						 int len,						 const char *buf);void	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);char *	xmlParserGetDirectory			(const char *filename);int     xmlRegisterInputCallbacks		(xmlInputMatchCallback matchFunc,						 xmlInputOpenCallback openFunc,						 xmlInputReadCallback readFunc,						 xmlInputCloseCallback closeFunc);/* * Interfaces for output */void	xmlRegisterDefaultOutputCallbacks(void);xmlOutputBufferPtr	xmlAllocOutputBuffer		(xmlCharEncodingHandlerPtr encoder);xmlOutputBufferPtr	xmlOutputBufferCreateFilename	(const char *URI,					 xmlCharEncodingHandlerPtr encoder,					 int compression);xmlOutputBufferPtr	xmlOutputBufferCreateFile	(FILE *file,					 xmlCharEncodingHandlerPtr encoder);xmlOutputBufferPtr	xmlOutputBufferCreateFd		(int fd,					 xmlCharEncodingHandlerPtr encoder);xmlOutputBufferPtr	xmlOutputBufferCreateIO		(xmlOutputWriteCallback   iowrite,					 xmlOutputCloseCallback  ioclose,					 void *ioctx,					 xmlCharEncodingHandlerPtr encoder);int	xmlOutputBufferWrite		(xmlOutputBufferPtr out,					 int len,					 const char *buf);int	xmlOutputBufferWriteString	(xmlOutputBufferPtr out,					 const char *str);int	xmlOutputBufferFlush		(xmlOutputBufferPtr out);int	xmlOutputBufferClose		(xmlOutputBufferPtr out);int     xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc,					 xmlOutputOpenCallback openFunc,					 xmlOutputWriteCallback writeFunc,					 xmlOutputCloseCallback closeFunc);/*  This function only exists if HTTP support built into the library  */#ifdef LIBXML_HTTP_ENABLEDvoid *	xmlIOHTTPOpenW			(const char * post_uri,					 int   compression );void	xmlRegisterHTTPPostCallbacks	(void );#endif/* * A predefined entity loader disabling network accesses */xmlParserInputPtr xmlNoNetExternalEntityLoader(const char *URL,					 const char *ID,					 xmlParserCtxtPtr ctxt);#ifdef __cplusplus}#endif#endif /* __XML_IO_H__ */

⌨️ 快捷键说明

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