patched to redirrect all "out of context" error messages to
a reconfigurable routine. The changes are:
* xmlerror.h : added the export of an error context type (void *)
  an error handler type xmlGenericErrorFunc there is an interface
  xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
  to reset the error handling routine and its argument
  (by default it's equivalent to respectively fprintf and stderr.
* all the c files: all wild accesses to stderr or stdout within
  the library have been replaced to calls to the handler.
Daniel
diff --git a/testXPath.c b/testXPath.c
index c226cf0..487987f 100644
--- a/testXPath.c
+++ b/testXPath.c
@@ -41,6 +41,7 @@
 #include <libxml/debugXML.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/parserInternals.h>
+#include <libxml/xmlerror.h>
 #if defined(LIBXML_XPTR_ENABLED)
 #include <libxml/xpointer.h>
 static int xptr = 0;
@@ -115,7 +116,8 @@
 
     input = fopen(filename, "r");
     if (input == NULL) {
-        fprintf(stderr, "Cannot open %s for reading\n", filename);
+        xmlGenericError(xmlGenericErrorContext,
+		"Cannot open %s for reading\n", filename);
 	return;
     }
     while (fgets(expr, 4500, input) != NULL) {