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) {