use the character() SAX callback if the cdataBlock ain't defined. fix bug

* parser.c HTMLparser.c: use the character() SAX callback
  if the cdataBlock ain't defined.
* xpath.c: fix bug #115349 allowing compilation when configured
  with --without-xpath since the Schemas code needs NAN and co.
Daniel
diff --git a/HTMLparser.c b/HTMLparser.c
index 7f3ed47..d07cd46 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -2688,6 +2688,8 @@
 		     * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
 		     */
 		    ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
+		} else if (ctxt->sax->characters != NULL) {
+		    ctxt->sax->characters(ctxt->userData, buf, nbchar);
 		}
 	    }
 	    nbchar = 0;
@@ -2712,6 +2714,8 @@
 		 * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
 		 */
 		ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
+	    } else if (ctxt->sax->characters != NULL) {
+		ctxt->sax->characters(ctxt->userData, buf, nbchar);
 	    }
 	    nbchar = 0;
 	}
@@ -2732,6 +2736,8 @@
 	     * Insert as CDATA, which is the same as HTML_PRESERVE_NODE
 	     */
 	    ctxt->sax->cdataBlock(ctxt->userData, buf, nbchar);
+	} else if (ctxt->sax->characters != NULL) {
+	    ctxt->sax->characters(ctxt->userData, buf, nbchar);
 	}
     }
 }