[VCARDDAV] Questions about vCard 4.0 (draft rev-11)

Daisuke Miyakawa <d.miyakawa@gmail.com> Tue, 22 June 2010 02:27 UTC

Return-Path: <d.miyakawa@gmail.com>
X-Original-To: vcarddav@core3.amsl.com
Delivered-To: vcarddav@core3.amsl.com
Received: from localhost (localhost []) by core3.amsl.com (Postfix) with ESMTP id 7C1A13A6919 for <vcarddav@core3.amsl.com>; Mon, 21 Jun 2010 19:27:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.755
X-Spam-Level: *
X-Spam-Status: No, score=1.755 tagged_above=-999 required=5 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001, MIME_BASE64_TEXT=1.753]
Received: from mail.ietf.org ([]) by localhost (core3.amsl.com []) (amavisd-new, port 10024) with ESMTP id MS4jna4gkRuO for <vcarddav@core3.amsl.com>; Mon, 21 Jun 2010 19:27:51 -0700 (PDT)
Received: from mail-gx0-f172.google.com (mail-gx0-f172.google.com []) by core3.amsl.com (Postfix) with ESMTP id CD8A33A6846 for <vcarddav@ietf.org>; Mon, 21 Jun 2010 19:27:50 -0700 (PDT)
Received: by gxk8 with SMTP id 8so22853gxk.31 for <vcarddav@ietf.org>; Mon, 21 Jun 2010 19:27:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=qP+yTH4bQOWPqdbMvXxt4q/UMgyxpfUqeghgwnvZQOE=; b=pckw7bUfm18g4UQGWXbuCks7KFN86C1gfLAxIPOTAKrG4evHXYTMCFDq+RcEqk1iEi g7PAkBTWoiHq7XN0ulHfnIJ4obkeCe4kKpVx6kzxyOJ1Wy3FiweoO3gYkOviGFKnXrAX cyZOLNv+bDd3Am1nzznLmNl7bV9dc5WpEps0c=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=PVb3KgQAXrLYZA9SrFGF24+rxs8tevBqti5YfkKZ9HqQWxwyoXs+H5axYAPuzTf3oC t41MtPT2klNtS6NZrljwA73fftDFCtGMPRKCLSHtQ+fwlmTtlhR7P8Gfw5S4QfmEPlzz VSonY4ZD17oY8id/Kqi1JzPY0A565b6x6YBj4=
MIME-Version: 1.0
Received: by with SMTP id 15mr3464902agt.161.1277173674539; Mon, 21 Jun 2010 19:27:54 -0700 (PDT)
Received: by with HTTP; Mon, 21 Jun 2010 19:27:54 -0700 (PDT)
Date: Tue, 22 Jun 2010 11:27:54 +0900
Message-ID: <AANLkTiniY60njEGixPGeKvs_m1LE_uVrvtnDQuXrP7jV@mail.gmail.com>
From: Daisuke Miyakawa <d.miyakawa@gmail.com>
To: vcarddav@ietf.org
Content-Type: multipart/alternative; boundary="001636284c722ffb040489952b01"
Subject: [VCARDDAV] Questions about vCard 4.0 (draft rev-11)
X-BeenThere: vcarddav@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF vcarddav wg mailing list <vcarddav.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vcarddav>
List-Post: <mailto:vcarddav@ietf.org>
List-Help: <mailto:vcarddav-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Jun 2010 06:30:41 -0000


(Please tell me when I'm saying something inappropriate in this ML. I'm new
to the community)
I'm a Japanese interested in vCard 4.0, and have 3 questions for
implementing parser/composer.

1) case sensitiveness
>   Property names and parameter names are case insensitive (e.g., the
>   property name "fn" is the same as "FN" and "Fn").

1-a) Rationale
I'd like to know why this draft changed the behavior around
case-sensitiveness of property name.
My understanding is that vCard 2.1 and 3.0 implicitly preferred upper cases
(though there seems no mention).
When developing a vCard parser for some embedded devices, I found using
case-sensitive comparison was a little costly.
At least, I think it is worth mentioning that upper cases would be better,
as a lot of old vCard files (both vCard 2.1 and vCard 3.0) seem to use that

1-b) How about BEGIN and END?
There's no mention about how BEGIN/END should be emitted. Is it ok to use


> Special notes: The property MUST be present in the vCard object.
>                The value MUST be "4.0" if the vCard corresponds to this
>                specification.

When parsing vCard files, I found it should be better to have "VERSION" line
"just after" "BEGIN:VCARD" line, as parsers cannot know which version should
be used.
My understanding is vCard 2.1 even allows vCard without "VERSION:2.1" line.
When parsing some complicated text with backslash and Quoted-Printable (only
allowed in vCard 2.1),
the parser cannot determine how a target property is treated (error or not).

VERSION:3.0  <-- The parser found that this vCard is NOT in vCard 4.0 but in
vCard 3.0, so AGENT is valid.
END:VCARD  <-- The parser found there's no N, which is valid in vCard 4.0
but not in vCard 3.0

I think it would be better to explicitly mention that "VERSION:4.0 MUST be
just after BEGIN:VCARD line" for better comfortability of actual

Some Japanese people said that we sometimes use organization (ORG) for
sorting, but we need some sort string for it.
However, the current draft says "SORT-STRING" is just for FN or N, not for
Is there any discussion about that kind of topic?


Daisuke Miyakawa (宮川大輔)