diff options
author | Dmitry Stogov <dmitry@php.net> | 2004-08-26 18:40:10 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2004-08-26 18:40:10 +0000 |
commit | dedab09c329e2f8eeb14f1c2538a058098d6c20a (patch) | |
tree | 808ba40bb9a485338c520c8333274467c80715a6 /ext/soap/php_encoding.c | |
parent | 0835c34572d3ae71227b55d00fa86f911dddf739 (diff) | |
download | php-git-dedab09c329e2f8eeb14f1c2538a058098d6c20a.tar.gz |
Fixed bug #29839 (incorrect convert (xml:lang to lang))
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 05e2d5143c..9978612868 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1357,7 +1357,14 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo if ((*attr)->fixed && strcmp((*attr)->fixed,dummy->children->content) != 0) { soap_error3(E_ERROR, "Encoding: Attribute '%s' has fixed value '%s' (value '%s' is not allowed)", (*attr)->name, (*attr)->fixed, dummy->children->content); } - xmlSetProp(xmlParam, (*attr)->name, dummy->children->content); + if ((*attr)->namens && + (type->ns == NULL || strcmp((*attr)->namens, type->ns))) { + xmlNsPtr nsp = encode_add_ns(xmlParam, (*attr)->namens); + + xmlSetNsProp(xmlParam, nsp, (*attr)->name, dummy->children->content); + } else { + xmlSetProp(xmlParam, (*attr)->name, dummy->children->content); + } } xmlUnlinkNode(dummy); xmlFreeNode(dummy); |