applied patch from Marcus Boerger to route relaxng and schemas error

* error.c relaxng.c xmlreader.c xmlschemas.c include/libxml/relaxng.h
  include/libxml/xmlschemas.h: applied patch from Marcus Boerger
  to route relaxng and schemas error messages when using the reader
  through the structured interface if activated.
* elfgcchack.h doc/* testapi.c: rebuilt since this add  new APIs
  to test.
Daniel
diff --git a/error.c b/error.c
index 17ced92..b0d0f14 100644
--- a/error.c
+++ b/error.c
@@ -595,8 +595,10 @@
 	    schannel = xmlStructuredError;
 	else
 	    channel = xmlGenericError;
+	if (!data) {
 	data = xmlGenericErrorContext;
     }
+    }
     if (schannel != NULL) {
         schannel(data, to);
 	return;