fixed the namespaces support fixed xmlGetNodePath when namespaces are used

* pattern.c: fixed the namespaces support
* tree.c: fixed xmlGetNodePath when namespaces are used
* result/pattern/multiple result/pattern/namespaces
  test/pattern/multiple.* test/pattern/namespaces.*: added
  more regression tests
Daniel
diff --git a/pattern.c b/pattern.c
index e9975f7..6645224 100644
--- a/pattern.c
+++ b/pattern.c
@@ -19,8 +19,6 @@
  *   currently push(NULL, NULL) means a reset of the streaming context
  *   and indicating we are on / (the document node), probably need
  *   something similar for .
- * - xmlPatterncompile support of namespaces arguments, I'm not sure
- *   it's implemented and definitely not tested
  * - handling of disjunction "pattern1 | pattern2" mean needed to build
  *   and check a list internally
  * - get rid of the "compile" starting with lowercase
@@ -882,7 +880,6 @@
 	NEXT;
 	if (CUR != ':') {
 	    xmlChar *prefix = name;
-	    xmlNsPtr ns;
 	    int i;
 
 	    /*
@@ -891,7 +888,7 @@
 	    token = xmlPatScanName(ctxt);
 	    for (i = 0;i < ctxt->nb_namespaces;i++) {
 	        if (xmlStrEqual(ctxt->namespaces[2 * i + 1], prefix)) {
-		    URL = xmlStrdup(ctxt->namespaces[2 * i + 1]);
+		    URL = xmlStrdup(ctxt->namespaces[2 * i]);
 		    break;
 		}
 	    }
@@ -901,8 +898,6 @@
 				 prefix);
 		ctxt->error = 1;
 		goto error;
-	    } else {
-		URL = xmlStrdup(ns->href);
 	    }
 	    xmlFree(prefix);
 	    if (token == NULL) {