data = get_zval_property(object, model->u.element->name TSRMLS_CC);
if (data) {
enc = model->u.element->encode;
- if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) {
+ if ((model->max_occurs == -1 || model->max_occurs > 1) &&
+ Z_TYPE_P(data) == IS_ARRAY &&
+ !is_map(data)) {
HashTable *ht = Z_ARRVAL_P(data);
zval **val;
}
}
xmlNodeSetName(property, model->u.element->name);
- if (style == SOAP_LITERAL && model->u.element->namens) {
+ if (style == SOAP_LITERAL &&
+ model->u.element->namens &&
+ model->u.element->form == XSD_FORM_QUALIFIED) {
xmlNsPtr nsp = encode_add_ns(property, model->u.element->namens);
xmlSetNs(property, nsp);
}
data = get_zval_property(object, "any" TSRMLS_CC);
if (data) {
enc = get_conversion(XSD_ANYXML);
- if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) {
+ if ((model->max_occurs == -1 || model->max_occurs > 1) &&
+ Z_TYPE_P(data) == IS_ARRAY &&
+ !is_map(data)) {
HashTable *ht = Z_ARRVAL_P(data);
zval **val;
property = master_to_xml(array_el->encode, *val, style, xmlParam);
}
xmlNodeSetName(property, array_el->name);
- if (style == SOAP_LITERAL && array_el->namens) {
+ if (style == SOAP_LITERAL &&
+ array_el->namens &&
+ array_el->form == XSD_FORM_QUALIFIED) {
xmlNsPtr nsp = encode_add_ns(property, array_el->namens);
xmlSetNs(property, nsp);
}