[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CAP 10: ABNF 'ordering' thought




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: Bruce_Kahn@xxxxxxxxxxxxxxxx
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...