In the development of hCard and proxies like X2V, we have discovered various details of RFC2426 vCard that appear to be mistakes. Thus we are documenting them here as we find them, organized by RFC2426 section number.
- Tantek Ãelik
2.2 Predefined Type Parameter Usage
- 2005-11-24 by Tantek Ãelik
Just after this block:
The vCard MIME Directory Profile uses the following predefined type parameters as defined by [MIME-DIR].
just before this:
3.6.7 UID Type Definition
RFC2426 says [note inserted text for clarification].
The [UID] type can include the type parameter "TYPE" to specify the format of the identifier. The TYPE parameter value should be an IANA registered identifier format. The value can also be a non-standard format.
Note that a search of the IANA website as of 11:10, 7 Sep 2007 finds no occurrences of "identifier format", therefore there is no way to comply with the "should" sentence in the above-quoted portion of section 3.6.7. Since the statement is only a "should", thus content MAY ignore it, and there is no way to comply with the "should", the simplest errata is to drop the impossible "should" statement, and remove the word "also" from the following sentence, as follows:
The [UID] type can include the type parameter "TYPE" to specify the format of the identifier. The value can be a non-standard format.
- 2008-01-14 by Peter Sheerin
I too have failed to find any reference to "registered itentifier format", and believe that sentence was intended to indicate that any IANA (MIME type) type of identifier, whereas most of the types referenced in the RFC are confined to one branch (image for photo and logo, audio for sound, etc.). However, I can find no obvious IANA MIME type appropriate for a UID. There is an RFC for a UUID, however. RFC 4122 describes the procedure for generating a globally unique 128-bit UID, using time, MAC address, and a few other things. Perhaps vCard should reference this?
5. Differences From vCard v2.1
- 2005-11-24 by Tantek Ãelik
. The [VCARD] CHARSET type parameter has been eliminated. Character set can only be specified on the CHARSET parameter on the Content-Type MIME header field.
We believe this to have been a mistake, note in particular that section 1. of RFC2426 explicitly states that the CHARSET parameter is one of the "Predefined MIME Directory parameters" that is "used". We believe that statement in section 1. of RFC2426 to be correct.
The most obvious proof of why this is needed is when a vCard .vcf file is stored on and retrieved from a local file-system, you obviously cannot depend on the Content-Type MIME (or HTTP) header field, nor can you assume that the operating system will keep character set metadata about the file in some other location.
Thus it is critical that the CHARSET parameter be reused from MIME-DIR. This requires:
- delete the above quoted bullet item from section 5.
- make the change to section 2.2 as noted above.