diff options
Diffstat (limited to 'ext/soap/php_xml.h')
-rw-r--r-- | ext/soap/php_xml.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/ext/soap/php_xml.h b/ext/soap/php_xml.h index e791984231..dd8b218de6 100644 --- a/ext/soap/php_xml.h +++ b/ext/soap/php_xml.h @@ -14,7 +14,7 @@ int attr_is_equal_ex(xmlAttrPtr node, char *name, char *ns); int node_is_equal_ex(xmlNodePtr node, char *name, char *ns); xmlAttrPtr get_attribute_ex(xmlAttrPtr node,char *name, char *ns); xmlNodePtr get_node_ex(xmlNodePtr node,char *name, char *ns); -xmlNodePtr get_node_recurisve_ex(xmlNodePtr node,char *name, char *ns); +xmlNodePtr get_node_recursive_ex(xmlNodePtr node,char *name, char *ns); xmlNodePtr get_node_with_attribute_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns); xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns); int parse_namespace(const char *inval,char **value,char **namespace); @@ -25,4 +25,34 @@ void *php_stream_xmlIO_open_wrapper(const char *filename); int php_stream_xmlIO_read(void *context, char *buffer, int len); int php_stream_xmlIO_close(void *context); +#define FOREACHATTRNODE(n,c,i) \ + do { \ + if (n == NULL) { \ + break; \ + } \ + if (c) { \ + i = get_attribute(n,c); \ + } else { \ + i = n; \ + } \ + if (i != NULL) { \ + n = i; + +#define FOREACHNODE(n,c,i) \ + do { \ + if (n == NULL) { \ + break; \ + } \ + if (c) { \ + i = get_node(n,c); \ + } else { \ + i = n; \ + } \ + if(i != NULL) { \ + n = i; + +#define ENDFOREACH(n) \ + } \ + } while ((n = n->next)); + #endif |