}
}
-static xmlNodeSetPtr php_get_elements_by_tagname(xmlNodePtr n, xmlChar* name)
+static xmlNodeSetPtr php_get_elements_by_tagname(xmlNodePtr n, xmlChar* name, xmlNodeSet *rv )
{
- xmlNodeSetPtr rv = NULL;
xmlNodePtr cld = NULL;
-
+ /* TODO
+ Namespace support
+ */
if ( n != NULL && name != NULL ) {
cld = n->children;
while ( cld != NULL ) {
xmlXPathNodeSetAdd( rv, cld );
}
}
+ rv = php_get_elements_by_tagname(cld, name, rv);
cld = cld->next;
}
}
xmlNode *nodep;
int name_len,i;
char *name;
- xmlNodeSet *nodesetp;
+ xmlNodeSet *nodesetp = NULL;
DOMXML_PARAM_TWO(nodep, id, le_domxmlelementp, "s", &name, &name_len);
RETURN_FALSE;
}
- nodesetp = php_get_elements_by_tagname(nodep,name);
+ nodesetp = php_get_elements_by_tagname(nodep, name, NULL);
if(nodesetp) {
for (i = 0; i < nodesetp->nodeNr; i++) {