libxml2 prerelease ?
- xmlIO cleanup, xmlRegisterInputCallbacks() for new input method
- fixed xmlPrevSibling and xmlNextSibling
- TODO: updated
- doc/* : updated/regenerated
Daniel
diff --git a/xmlIO.h b/xmlIO.h
index 4d63b82..0722e70 100644
--- a/xmlIO.h
+++ b/xmlIO.h
@@ -18,15 +18,17 @@
extern "C" {
#endif
+typedef int (*xmlInputMatchCallback) (char const *filename);
+typedef void * (*xmlInputOpenCallback) (char const *filename);
+typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
+typedef void (*xmlInputCloseCallback) (void * context);
+
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
struct _xmlParserInputBuffer {
- /* Inputs */
- FILE *file; /* Input on file handler */
- void* gzfile; /* Input on a compressed stream */
- int fd; /* Input on a file descriptor */
- void *httpIO; /* Input from an HTTP stream */
- void *ftpIO; /* Input from an FTP stream */
+ void* context;
+ xmlInputReadCallback readcallback;
+ xmlInputCloseCallback closecallback;
xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
@@ -60,6 +62,10 @@
void xmlFreeParserInputBuffer (xmlParserInputBufferPtr in);
char * xmlParserGetDirectory (const char *filename);
+int xmlRegisterInputCallbacks (xmlInputMatchCallback match,
+ xmlInputOpenCallback open,
+ xmlInputReadCallback read,
+ xmlInputCloseCallback close);
#ifdef __cplusplus
}
#endif