Manuel wrote:
>     <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
> processContents="skip"/>

namespace="##other" permits any element that is in a namespace which is
different from the target namespace of the schema.  It specifically does
*not* permit elements that are not in a namespace at all[1], which is
the case for your <row> element:

> <ns2:return><row><market...  and so on...

If you control the WSDL and want to allow unqualified elements then you
need to change it to namespace="##local" instead of ##other.  If you
need to allow both qualified and unqualified use ##any.

However, ##any does allow elements in the schema's target namespace.  If
you need to allow qualified or unqualified but still preserve the
##other restriction (i.e. allow anything but the target namespace) then
you'd need a construction like:

<xs:choice maxOccurs="unbounded" minOccurs="0">
  <xs:any namespace="##other" processContents="skip" />
  <xs:any namespace="##local" processContents="skip" />
</xs:choice>

Ian

[1] http://www.w3.org/TR/xmlschema-0/#nsTable

-- 
Ian Roberts               | Department of Computer Science
[email protected]  | University of Sheffield, UK

Reply via email to