Re: Proposed resolution for rec issue 21

This note is in fulfillment of an action I was assigned on this week's 
call.

Specifically, in [1] I had proposed some text which read as follows:

        "The arraySize attribute SHOULD be used
        when it is desired to 
        to suggest a mapping of SOAP compound
        values distinguished by position to
        fixed size or multi-dimensional program
        array data structures.  By convention,
        the mapping is established such that the
        array's dimensions are represented by
        each item in the list of sizes
        (unspecified size in case of the
        asterisk). The number of items in the
        list represents the number of dimensions
        in the mapped array.  The subscript that
        changes most slowly appears first, with
        others if any following in order; the
        asterisk, if present, MUST only appear
        in the first position in the list. The
        default value of the arraySize attribute
        information item is "*", suggesting that
        by default arrays are to be mapped to
        program structures of a single dimension
        with unspecified size."

On our call, the group agreed the intention was about right, but that we 
needed tighter wording.  I was asked to attempt a redraft.  Here's a first 
cut:

"The arraySize attribute conveys a suggested mapping of a SOAP array to a 
multi-dimensional program data structure.  The cardinality of the 
arraySize list represents the number of dimensions, with individual values 
providing the extents of the respective dimensions.  When SOAP encoding 
multidimensional arrays, nodes are selected such that the last subscript 
(I.e. the subscript corresponding to the last specified dimension) varies 
most rapidly, and so on with the first varying most slowly.    An asterisk 
MAY be used only in place of the first size to indicate a dimension of 
unspecified extent;  asterisks MUST NOT appear in other positions in the 
list.  The default value of the arraySize attribute information item is 
"*", I.e. a single dimension of unspecified extent."

The reason for the phrase "When SOAP encoding multidimensional arrays..." 
is that I realized that what we're really doing here is making a 
connection between the linear order of the encoding (and the data model 
for that matter), and the multidimensional structure that's being mapped 
at the endpoint.  Without that context, what does it mean to talk about a 
"subscript changing slowly"?   I struggled a long time to come up with a 
less clumsy phrase, but this is as far as I got.

Marc Hadley:  I'm particularly curious as to whether you feel this is in 
the spirit of what you were looking for?  If not, suggested changes are 
most welcome.  Thank you.

Noah

[1] http://lists.w3.org/Archives/Public/xml-dist-app/2004Jun/0000.html

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------

Received on Thursday, 3 June 2004 20:24:58 UTC