Proposed resolution for rec issue 21

On this weeks telcon I took an action to propose a resolution for Rec 
issue 21[1] which concerns multidimensional arrays in SOAP 1.2 
encoding:

"Section 3.1.6[2] doesn't say in which order array dimension sizes are 
listed. (It doesn't say whether the first size in the list is the size 
of the first dimension or is the size of the last dimension.)"

Section 3.1.6[2] currently contains the following:

"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 array. The 
asterisk, if present,  MUST only appear in the first position in the 
list.  The default value of the arraySize  attribute information item 
is "*", that is by  default arrays are considered to have a single 
dimension  of unspecified size."

The intent of the restriction on the position of the asterisk is to 
ensure that multidimensional arrays are regular in their dimensions 
since the serialization contains no additional length indicators for 
subcomponents (note that an array of arrays could be used to serialize 
an irregular structure.). E.g. a two dimensional array could have a 
variable number of rows but each row must have the same number of 
columns so the asterisk can only be used for the most significant 
dimension of the array. Given this, its clear that the intent is for 
array dimensions to be listed from most to least significant order but 
this isn't captured directly in the specification. To close this issue 
I propose we modify the final paragraph in section 3.1.6 (above) to 
read:

"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 array, 
dimensions are listed in order from most significant to least 
significant. The asterisk, if present,  MUST only appear in the first 
position in the list.  The default value of the arraySize  attribute 
information item is "*", that is by  default arrays are considered to 
have a single dimension  of unspecified size."

Thoughts, comments ?
Marc.

[1] http://www.w3.org/2000/xp/Group/xmlp-rec-issues.html#x21
[2] http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#arraySizeattr

---
Marc Hadley <marc.hadley at sun.com>
Web Products, Technologies and Standards, Sun Microsystems.

Received on Thursday, 27 May 2004 11:04:30 UTC