diff options
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 2e9eb23b06..12d0ca0395 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -2304,7 +2304,14 @@ xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval *data, int style, xmlNo static xmlNodePtr check_and_resolve_href(xmlNodePtr data) { if (data && data->properties) { - xmlAttrPtr href = get_attribute(data->properties, "href"); + xmlAttrPtr href; + + href = data->properties; + while (1) { + href = get_attribute(href, "href"); + if (href == NULL || href->ns == NULL) {break;} + href = href->next; + } if (href) { /* Internal href try and find node */ if (href->children->content[0] == '#') { |