My first reaction is this: If we are confident that we have the necessary hooks/extensibility mechanisms that multi dimensional arrays can be defined in all their glory as a supplement. Then it is very easy to say no.

 

Another tack on this is the following. I do not think that we need to support arbitrary array representations in XML. However we do need to be able to describe the data format including metadata such as array dimensions etc. So I would push to go a little farther than your 1d array and say we need to define a way to describe the multidimensionality of your 1d array. Likewise it would be really good to have metadata to capture the description of sparse representations…

 

Martin

 


From: dfdl-wg-bounces@ogf.org [mailto:dfdl-wg-bounces@ogf.org] On Behalf Of Mike Beckerle
Sent: Wednesday, September 20, 2006 10:17 AM
To: dfdl-wg@ogf.org
Subject: [DFDL-WG] DFDL and Multi-dimensional arrays - just say no to them?

 


I'd like to solicit opinions on this suggestion:

We have been assuming we needed more than just 1d array support, but this is now unclear.

We've pushed back on "top-down" use of XML Schemas, i.e., DFDL must be used bottom up, and transformation into the "logical form you wanted" is not our job. That is, the DFDL Schema's logical organization is constrained (heavily) by the data format.

We could take an exactly analogous position with respect to multi-dimensional or other complex arrays.

The DFDL describes the representation, and the sttructure of the DFDL schema will end up matching the shape of the representation of the array. Transforming that into something that looks and acts like a ordinary dense multi-dimensional array is a transformation that is out-of-scope for us.

E.g., if the array is stored as a run-length encoded vector, then it is DFDL's job to describe this run-length encoded vector, but not to project/transform it so that it can be accessed in a manner that hides the run-length encoding and makes it look like an ordinary dense array.

(I actually believe hiding sparse array implementations behind a dense-array facade is generally not advised. Algorithmically you must operate on the sparce representation anyway for efficiency. )

Suggested Conclusion: we can just say that we don't do multi-dimensional arrays because it is out-of-scope for us.

Comments?

...mikeb