Return-Path: <d.miyakawa@gmail.com>
X-Original-To: vcarddav@core3.amsl.com
Delivered-To: vcarddav@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) 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 ([64.170.98.32]) by localhost (core3.amsl.com
 [127.0.0.1]) (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
 [209.85.161.172]) 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 10.90.20.15 with SMTP id 15mr3464902agt.161.1277173674539;
 Mon,  21 Jun 2010 19:27:54 -0700 (PDT)
Received: by 10.90.63.13 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

--001636284c722ffb040489952b01
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

Hi,

(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
form.

1-b) How about BEGIN and END?
There's no mention about how BEGIN/END should be emitted. Is it ok to use
"begin:vcard"?

2) VERSION

> 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).

e.g.
BEGIN:VCARD
FN:Daisuke;Miyakawa
AGENT:BEGIN:VCARD\nFN:Cool!\nEND:VCARD
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
(error?)

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
implementation.

3) SORT-STRING
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
ORG.
Is there any discussion about that kind of topic?

Thanks,

-- 
Daisuke Miyakawa ($B5\@nBgJe(B)
d.miyakawa@gmail.com

--001636284c722ffb040489952b01
Content-Type: text/html; charset=ISO-2022-JP
Content-Transfer-Encoding: base64

SGksPGJyPjxicj4oUGxlYXNlIHRlbGwgbWUgd2hlbiBJJiMzOTttIHNheWluZyBzb21ldGhpbmcg
aW5hcHByb3ByaWF0ZSBpbiB0aGlzIE1MLiBJJiMzOTttIG5ldyB0byB0aGUgY29tbXVuaXR5KTxi
cj5JJiMzOTttIGEgSmFwYW5lc2UgaW50ZXJlc3RlZCBpbiB2Q2FyZCA0LjAsIGFuZCBoYXZlIDMg
cXVlc3Rpb25zIGZvciBpbXBsZW1lbnRpbmcgcGFyc2VyL2NvbXBvc2VyLjxicj48YnI+CjEpIGNh
c2Ugc2Vuc2l0aXZlbmVzczxicj4mZ3Q7Jm5ic3A7Jm5ic3A7IFByb3BlcnR5IG5hbWVzIGFuZCBw
YXJhbWV0ZXIgbmFtZXMgYXJlIGNhc2UgaW5zZW5zaXRpdmUgKGUuZy4sIHRoZTxicj4mZ3Q7Jm5i
c3A7Jm5ic3A7IHByb3BlcnR5IG5hbWUgJnF1b3Q7Zm4mcXVvdDsgaXMgdGhlIHNhbWUgYXMgJnF1
b3Q7Rk4mcXVvdDsgYW5kICZxdW90O0ZuJnF1b3Q7KS48YnIgY2xlYXI9ImFsbCI+PGJyPjEtYSkg
UmF0aW9uYWxlPGJyPgpJJiMzOTtkIGxpa2UgdG8ga25vdyB3aHkgdGhpcyBkcmFmdCBjaGFuZ2Vk
IHRoZSBiZWhhdmlvciBhcm91bmQgY2FzZS1zZW5zaXRpdmVuZXNzIG9mIHByb3BlcnR5IG5hbWUu
PGJyPk15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCB2Q2FyZCAyLjEgYW5kIDMuMCBpbXBsaWNpdGx5
IHByZWZlcnJlZCB1cHBlciBjYXNlcyAodGhvdWdoIHRoZXJlIHNlZW1zIG5vIG1lbnRpb24pLjxi
cj5XaGVuIGRldmVsb3BpbmcgYSB2Q2FyZCBwYXJzZXIgZm9yIHNvbWUgZW1iZWRkZWQgZGV2aWNl
cywgSSBmb3VuZCB1c2luZyBjYXNlLXNlbnNpdGl2ZSBjb21wYXJpc29uIHdhcyBhIGxpdHRsZSBj
b3N0bHkuPGJyPgpBdCBsZWFzdCwgSSB0aGluayBpdCBpcyB3b3J0aCBtZW50aW9uaW5nIHRoYXQg
dXBwZXIgY2FzZXMgd291bGQgYmUgYmV0dGVyLCBhcyBhCmxvdCBvZiBvbGQgdkNhcmQgZmlsZXMg
KGJvdGggdkNhcmQgMi4xIGFuZCB2Q2FyZCAzLjApIHNlZW0gdG8gdXNlIHRoYXQKZm9ybS48YnI+
PGJyPjEtYikgSG93IGFib3V0IEJFR0lOIGFuZCBFTkQ/PGJyPlRoZXJlJiMzOTtzIG5vIG1lbnRp
b24gYWJvdXQgaG93IEJFR0lOL0VORCBzaG91bGQgYmUgZW1pdHRlZC4gSXMgaXQgb2sgdG8gdXNl
ICZxdW90O2JlZ2luOnZjYXJkJnF1b3Q7Pzxicj48YnI+MikgVkVSU0lPTjxicj48cHJlPiZndDsg
U3BlY2lhbCBub3RlczogVGhlIHByb3BlcnR5IE1VU1QgYmUgcHJlc2VudCBpbiB0aGUgdkNhcmQg
b2JqZWN0Ljxicj4KJmd0OyAgICAgICAgICAgICAgICBUaGUgdmFsdWUgTVVTVCBiZSAmcXVvdDs0
LjAmcXVvdDsgaWYgdGhlIHZDYXJkIGNvcnJlc3BvbmRzIHRvIHRoaXM8YnI+Jmd0OyAgICAgICAg
ICAgICAgICBzcGVjaWZpY2F0aW9uLjxicj48L3ByZT5XaGVuIHBhcnNpbmcgdkNhcmQgZmlsZXMs
IEkgZm91bmQgaXQgc2hvdWxkIGJlIGJldHRlciB0byBoYXZlICZxdW90O1ZFUlNJT04mcXVvdDsg
bGluZSAmcXVvdDtqdXN0IGFmdGVyJnF1b3Q7ICZxdW90O0JFR0lOOlZDQVJEJnF1b3Q7IGxpbmUs
IGFzIHBhcnNlcnMgY2Fubm90IGtub3cgd2hpY2ggdmVyc2lvbiBzaG91bGQgYmUgdXNlZC48YnI+
Ck15IHVuZGVyc3RhbmRpbmcgaXMgdkNhcmQgMi4xIGV2ZW4gYWxsb3dzIHZDYXJkIHdpdGhvdXQg
JnF1b3Q7VkVSU0lPTjoyLjEmcXVvdDsgbGluZS4gV2hlbiBwYXJzaW5nIHNvbWUgY29tcGxpY2F0
ZWQgdGV4dCB3aXRoIGJhY2tzbGFzaCBhbmQgUXVvdGVkLVByaW50YWJsZSAob25seSBhbGxvd2Vk
IGluIHZDYXJkIDIuMSksPGJyPnRoZSBwYXJzZXIgY2Fubm90IGRldGVybWluZSBob3cgYSB0YXJn
ZXQgcHJvcGVydHkgaXMgdHJlYXRlZCAoZXJyb3Igb3Igbm90KS48YnI+Cjxicj5lLmcuPGJyPkJF
R0lOOlZDQVJEPGJyPkZOOkRhaXN1a2U7TWl5YWthd2E8YnI+QUdFTlQ6QkVHSU46VkNBUkRcbkZO
OkNvb2whXG5FTkQ6VkNBUkQ8YnI+VkVSU0lPTjozLjAmbmJzcDsgJmx0Oy0tIFRoZSBwYXJzZXIg
Zm91bmQgdGhhdCB0aGlzIHZDYXJkIGlzIE5PVCBpbiB2Q2FyZCA0LjAgYnV0IGluIHZDYXJkIDMu
MCwgc28gQUdFTlQgaXMgdmFsaWQuPGJyPkVORDpWQ0FSRCZuYnNwOyAmbHQ7LS0gVGhlIHBhcnNl
ciBmb3VuZCB0aGVyZSYjMzk7cyBubyBOLCB3aGljaCBpcyB2YWxpZCBpbiB2Q2FyZCA0LjAgYnV0
IG5vdCBpbiB2Q2FyZCAzLjA8YnI+CihlcnJvcj8pPGJyPjxicj5JIHRoaW5rIGl0IHdvdWxkIGJl
IGJldHRlciB0byBleHBsaWNpdGx5IG1lbnRpb24gdGhhdCAmcXVvdDtWRVJTSU9OOjQuMCBNVVNU
IGJlIGp1c3QgYWZ0ZXIgQkVHSU46VkNBUkQgbGluZSZxdW90OyBmb3IgYmV0dGVyIGNvbWZvcnRh
YmlsaXR5IG9mIGFjdHVhbCBpbXBsZW1lbnRhdGlvbi48YnI+PGJyPjMpIFNPUlQtU1RSSU5HPGJy
PlNvbWUgSmFwYW5lc2UgcGVvcGxlIHNhaWQgdGhhdCB3ZSBzb21ldGltZXMgdXNlIG9yZ2FuaXph
dGlvbiAoT1JHKSBmb3Igc29ydGluZywgYnV0IHdlIG5lZWQgc29tZSBzb3J0IHN0cmluZyBmb3Ig
aXQuPGJyPgpIb3dldmVyLCB0aGUgY3VycmVudCBkcmFmdCBzYXlzICZxdW90O1NPUlQtU1RSSU5H
JnF1b3Q7IGlzIGp1c3QgZm9yIEZOIG9yIE4sIG5vdCBmb3IgT1JHLjxicj5JcyB0aGVyZSBhbnkg
ZGlzY3Vzc2lvbiBhYm91dCB0aGF0IGtpbmQgb2YgdG9waWM/PGJyPjxicj5UaGFua3MsPGJyPjxi
cj4tLSA8YnI+RGFpc3VrZSBNaXlha2F3YSAoGyRCNVxAbkJnSmUbKEIpPGJyPjxhIGhyZWY9Im1h
aWx0bzpkLm1peWFrYXdhQGdtYWlsLmNvbSI+ZC5taXlha2F3YUBnbWFpbC5jb208L2E+PGJyPgoK
--001636284c722ffb040489952b01--
