From Microformats Wiki
vcard-errata /
Revision as of 01:22, 9 September 2007 by Tantek (talk | contribs)
Jump to navigation Jump to search

vCard errata

In the development of hCard and proxies like X2V, we have discovered various details of vCard RFC 2426 vCard that appear to be mistakes. Thus we are documenting them here as we find them, organized by vCard RFC 2426 section number.

Tantek Çelik


2.2 Predefined Type Parameter Usage

  1. 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].

insert this:

        - CHARSET

just before this:

        - LANGUAGE

3.6.7 UID Type Definition

  1. 2007-09-08 by Tantek Çelik based on issue raised by Andy Mabbett 11:10, 7 Sep 2007.

vCard RFC 2426 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

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", it 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.

5. Differences From vCard v2.1

  1. 2005-11-24 by Tantek Çelik

vCard RFC 2426 says:

        . 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 vCard RFC 2426 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 vCard RFC 2426 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:

  1. delete the above quoted bullet item from section 5.
  2. make the change to section 2.2 as noted above.

See Also