Subject: CAP 10: ABNF 'ordering' thought

From: [email-masked]
Date: Thu, 30 Jan 2003 10:07:00 -0500

While looking at the latest draft I noticed that the ABNF ordering of 
mandatory and optional bits is somewhat odd (or at least different than Im 
used to from RFC 2445).  For example, from Section 9.6. VQUERY Component::

queryprop = 1*(

          ; 'queryid' is OPTIONAL but MUST NOT occur
          ; more than once. If the "TARGET" property
          ; is supplied then the "QUERYID" property
          ; MUST BE supplied.
          ;
           queryid / target

          ; the following are OPTIONAL, and MAY occur
          ; more than once
          ;
          / name / other-props

          ; the following MUST occur at least once.
          ;
          / query
        )

The mandatory property is at the bottom after the optional ones.  This 
seems a bit odd to me given that in 2445 we ordered the mandatory first 
and then the optional bits so that any "1*",  "2*", etc. grammars had the 
mandatory bits up front and then the optional bits.  For example, from 
Section 4.6 Calendar Components:

     calprops   = 2*(

                ; 'prodid' and 'version' are both REQUIRED,
                ; but MUST NOT occur more than once

                prodid /version /

                ; 'calscale' and 'method' are optional,
                ; but MUST NOT occur more than once

                calscale        /
                method          /
                x-prop
                )

I would ask that we try to keep the same kind of ordering in our CAP ABNF. 
 This is more a preference and request than an actual "we must do this" 
kind of note.  I find it easier if we are consistant w/the base RFCs when 
doing a quick analysis of the ABNF...  (Back to injesting caffine and 
waking up fully...)

Bruce
===========================================================================
Bruce Kahn                                INet: 
[email-masked]
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...