Summary: Sparse Arrays

This is a summary of the sparse array thread [1] from September 2001

Points raised on sparse arrays are,

(a) Sparse arrays maintain three states for every slot in an array: value,
nil and absent. Spare arrays have multiple representations with positions
and offsets.

These make implementation painful. There were several rebuttals and follow

(a-1) omitting an accessor and xsi:nil='true' are equivalent; did not
encounter any problems with implementing sparse arrays

(a-2) omitting an accessor and xsi:nil='true' MAY or MAY NOT be equivalent
and it depends on implementations. Some commentators agree on this notion of
deferring semantics to the apps.

(a-3) Some commentators disagree on the notion of deferring semantics to the
apps 'cos this is a pain for generic apps. Different interpretations lead to
bad interoperability.

(a-4) Sparse arrays may be two-state or three-state. This depends on the
implementation. Three-state is complicated. Allowing two- or three-state is

(a-5) Full blown (two- or three-state) sparse array is complicated. Emerging
proposal is to limit sparse arrays to two-state arrays and rule out
three-state arrays.

(b) A desire to have a meta level mechanism to indicate sparse array and
specify the semantics of omitted accessors, say in WSDL. Such as, array is
sparse, array is never sparse, array may be sparse; if array is sparse, then
omitted accessor means nil or absent. In the absence of this mechanism,
every array is a potential sparse array.

(c) One commentator observed that sparse arrays aren't widely used. Other
folks said, there are certain apps that may benefit from it. It is nice to
have a standard way to represent spare arrays.

(d) Call to specify the representation for sparse arrays in SOAP Encoding as
unambiguous as possible. But, it is hard to define it precisely.

Proposed Actions

[Action-1] Per (a), acknowledge one SOAP Encoding issue: clarify the scope
of sparse array, two-state, three-state or both.

[Action-2] Per (b), this is a WSDL feature request. Forward this request to
the to be formed Web Services Description Working Group or request Alan Kent
to forward this request to the to be formed Web Services Description Working
Group or take this to the to be formed Web Services Coordination Group.

[Action-3] Per (c), no action is necessary

[Action-4] Per (d), this is an editorial request and [Action-1] will
determine the nature of this work for editors. I suggest that we make this a
subsidiary question to [Action-1]



Asir S Vedamuthu

webMethods, Inc.
703-460-2513 or

Received on Tuesday, 13 November 2001 09:30:30 UTC