Subject: [Ietf-calsify] Section 3.2.8: Format Type ABNF

From: alexey.melnikov at isode.com (Alexey Melnikov)
Date: Thu Feb 22 05:36:00 2007

[Another one of the "old" issues]

> 3.2.8. Format Type
>
> Parameter Name: FMTTYPE
>
> Purpose: To specify the content type of a referenced object.
>
> Format Definition: The property parameter is defined by the following
> notation:
>
> fmttypeparam = "FMTTYPE" "=" iana-token
> ; A IANA registered content type
> / x-name
> ; A non-standard content type

The ABNF is not actually correct, because FMTTYPE is supposed to look 
like <mimetype>/<mimesubtype>.
However RFC 2445 didn't allow '/' in ABNF:

     fmttypeparam       = "FMTTYPE" "=" iana-token
                                        ; A IANA registered content type
                                     / x-name
                                        ; A non-standard content type

     iana-token = 1*(ALPHA / DIGIT / "-")
     ; iCalendar identifier registered with IANA

     x-name             = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-")
     ; Reservered for experimental use. Not intended for use in
     ; released products.

Bernard wrote:

> Should it be:
>
> fmttypeparam = "FMTTYPE" "=" type "/" subtype *(";" parameter)
> ; Where "type", "subtype", and "parameter" are defined in
> ; section 5.1 of [RFC2045]

Bernard argued that <parameter>s are needed, for example to specify 
charset to text/plain. I think some interop testing of this needs to be 
done.

I've found updated ABNF for type/subtype in Section 4.2 of RFC 4288, so 
the final suggestion is:

fmttypeparam = "FMTTYPE" "=" type-name "/" subtype-name *(";" parameter)
; Where "type-name", "subtype-name" are defined in
; section 4.2 of [RFC4288], and  "parameter" is defined in
; section 5.1 of [RFC2045].

And [RFC4288] needs to be added to the Normative References.