Re: updated proposal on issue #144 - array metadata in SOAP Encoding

On Tue, Nov 13, 2001 at 12:44:24PM +0100, Jacek Kopecky wrote:
>  Murali, but also Alan,
>  I think the issue here is the true meaning of the term "sparse
> array".

Agreed completely. I personally only intend the SOAP documented support
for not transmitting all values in an array. The problem is what is
the semantics of this. One interpretation is the maths 'sparse array'.
I have probably been mixing terms unwittingly.

>  The same with SOAP arrays - how many members can be present for
> the array to be still considered a sparse array?

To me, its more can this array be partially transmitted. Some have
said servers are allowed to say 'this particular array must never
be transmitted as partially transmitted'. To me that makes it
feel like a separate type. Just like XML schema allows you to
say if something can be nil or not.

>  The problem is that one application can consider an array and an
> other application can treat the same array as just an array. If
> we add the attribute isSparse (or any other suitable name), what
> do we communicate on the wire? It is a hint to some
> implementations. It's like if we wanted to add an attribute on
> transmitted integers that thay are in fact in the range -128 to
> 127 and therefore fit into a common byte:
>  <a xsi:type="xsd:integer" enc:isByte="true">42</a>

I am not an XML schema expert, but I would have thought you can define
a XML schema type representing a byte. That is, its an integer with
a restriction on the legal values (min and max). In that case,
the xsi:type would be set to abc:byte not xsd:integer. There would
not be a separate enc:isByte attribute.

>  This comparison leads me to thinking that we might add a new
> type, SparseArray, being a restriction of the type Array with
> just the annotation "these arrays are sparse", just like we have
> xsd:byte type.

This sounds reasonable. It seems a logical extension of the above.
What would the type information be? I guess it would reference
a schema type.

>  But how do we define a sparse array? If anybody comes with a
> definition suitable for the spec, I think we could add the type.
>  What d'ya think? 8-)

I *personally* prefer removing sparseness (partial transmision)
completely from SOAP (do it all using XML Schema). However, if
that is not an option, then a restricted form of array is another
logical approach.

The thing in my mind is the recent comment about people not being
sure how to specify an array in XML Schema for a WSDL file. If
they have not settled how to specify arrays, specifying partially
transmitted arrays seems premature. Maybe the same people should
look at both at the same time?

Alan

Received on Wednesday, 14 November 2001 22:29:23 UTC