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