This is where Suman and I left it on the array prefix issue.

The problem is where do you stop with creating special "occurs" versions. You can in principle have an "occurs" variant of almost every property.

...mikeb

Mike Beckerle
STSM, Architect, Scalable Computing
IBM Software Group
Information Platform and Solutions
Westborough, MA 01581
direct: voice and FAX 508-599-7148
assistant: Pam Riordan  
                 priordan@us.ibm.com
                 508-599-7046


----- Forwarded by Mike Beckerle/Worcester/IBM on 11/20/2007 10:02 AM -----
Suman Kalia/Toronto/IBM@IBMCA

11/16/2007 11:53 AM

To
Mike Beckerle/Worcester/IBM@IBMUS
cc
Subject
Fw: DFDL array prefix




Mike - The proposed grammar productions seem correct to me..

I see your view point and your concern for bifurcation of properties and I do agree that it introduces level of redundancy. I guess the choice boils down to having extra level of redundancy (dummy sequence) in the logical model or having redundancy in DFDL properties and each alternative can be justified and supported with good arguments. >From consumability perspective having clean and less/no extra level of redundancy in the logical model is preferred because  it would be at the user face all the time while the DFDL properties pertaining to occurrences will be rare and only for specific use cases.  From pure DFDL spec perspective, having no redundancy in DFDL properties is desirable.

May be we can go with the conservative approach as  you mentioned  ie not add the extra production in the grammar for Array for now but add an appendix in the document listing the alternative for overcoming redundancy in the logical model and how the revised grammar would look like. We can get more feedback when the document is reviewed by IBMers (architects, implementers, UCD) and folks in the standards community.  


Suman Kalia
IBM Toronto Lab
WebSphere Business Integration Application Connectivity Tools
Tel : 905-413-3923  T/L  969-3923
Fax : 905-413-4850 T/L  969-4850
Internet ID : kalia@ca.ibm.com

----- Forwarded by Suman Kalia/Toronto/IBM on 11/16/2007 10:34 AM -----
Mike Beckerle/Worcester/IBM@IBMUS

11/16/2007 10:17 AM

To
Suman Kalia/Toronto/IBM@IBMCA
cc
Subject
DFDL array prefix




Here's the proposal I think:

Array = ArrayPrefix ArrayContent

ArrayContent = [ Element [ OccursSeparator Element ]*  [ OccursSeparator StopValue] ]

StopValue = SimpleElement

I'd suggest the keyword occursLeadingSkipBytes is the property which controls the ArrayPrefix content.

My argument against this is a slippery-slope argument.  This starts us down the path of having a bifurcation of many properties into an occurs and non-occurs flavor. E.g., once you add the above, then by analogy why not have these additional keywords which apply to the array as a whole, not the elements of it:

occursAlignment

occursAlignmentUnits

occursInitiator

occursTerminator

occursLength

occursLengthKind

occursLengthUnits

All of this is avoided by simply requiring an extra sequence to provide these same format characteristics using the ordinary non-occurs keywords, and that's very preferable to me to this proliferation of occurs and non-occurs variants.

...mikeb



Mike Beckerle
STSM, Architect, Scalable Computing
IBM Software Group
Information Platform and Solutions
Westborough, MA 01581
direct: voice and FAX 508-599-7148
assistant: Pam Riordan  
                 priordan@us.ibm.com
                 508-599-7046