Re: [VCARDDAV] Questions about vCard 4.0 (draft rev-11)
Simon Perreault <simon.perreault@viagenie.ca> Tue, 22 June 2010 13:05 UTC
Return-Path: <simon.perreault@viagenie.ca>
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 3037F3A67AC for <vcarddav@core3.amsl.com>; Tue, 22 Jun 2010 06:05:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.898
X-Spam-Level:
X-Spam-Status: No, score=-0.898 tagged_above=-999 required=5 tests=[AWL=-0.898, BAYES_50=0.001, NO_RELAYS=-0.001]
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 v+o9SfQRxWSe for <vcarddav@core3.amsl.com>; Tue, 22 Jun 2010 06:04:58 -0700 (PDT)
Received: from jazz.viagenie.ca (unknown [IPv6:2620:0:230:8000:226:55ff:fe57:14db]) by core3.amsl.com (Postfix) with ESMTP id 7F63B3A67CC for <vcarddav@ietf.org>; Tue, 22 Jun 2010 06:04:58 -0700 (PDT)
Received: from ringo.viagenie.ca (unknown [IPv6:2620:0:230:c000:403a:8033:d402:ebf7]) by jazz.viagenie.ca (Postfix) with ESMTPSA id A42A020DC3 for <vcarddav@ietf.org>; Tue, 22 Jun 2010 09:05:05 -0400 (EDT)
Message-ID: <4C20B501.6030802@viagenie.ca>
Date: Tue, 22 Jun 2010 09:05:05 -0400
From: Simon Perreault <simon.perreault@viagenie.ca>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4
MIME-Version: 1.0
To: vcarddav@ietf.org
References: <AANLkTiniY60njEGixPGeKvs_m1LE_uVrvtnDQuXrP7jV@mail.gmail.com>
In-Reply-To: <AANLkTiniY60njEGixPGeKvs_m1LE_uVrvtnDQuXrP7jV@mail.gmail.com>
X-Enigmail-Version: 1.0.1
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
Subject: Re: [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 13:05:00 -0000
On 2010-06-21 22:27, Daisuke Miyakawa wrote: > (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. Good! This is the right place to ask such questions. > 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). See RFC 2425 section 5.8.2: Type names and parameter names are case insensitive (e.g., the type name "fn" is the same as "FN" and "Fn"). The preference is irrelevant. Your parser needs to be able to understand both forms. > When developing a vCard parser for some embedded devices, I found using > case-sensitive comparison was a little costly. You must have been playing with some REALLY REALLY SMALL embedded devices! ;) I've never encountered or heard of a platform where case-insensitive comparison would make any measurable difference. > 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. I'm sorry, I think this would be wrong. The right thing to say would be that parsers need to understand both upper and lower case, but this is already part of the text. > 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"? No. Unless specified otherwise, property values are case sensitive. Therefore "begin:VCARD", "BEGIN:VCARD", and "Begin:VCARD" would be valid, but "begin:vcard" would not. The ABNF in section 6.1.1 makes this clear. > 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. I tend to agree. Unless people disagree, this will be part of the next revision. > 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? You just started the discussion! ;) I think this is valid and important. However, I would really like to see a real-life example to ensure we stay grounded. Could you please write one? I suppose it will be hard to translate to English, but please try... Simon -- NAT64/DNS64 open-source --> http://ecdysis.viagenie.ca STUN/TURN server --> http://numb.viagenie.ca vCard 4.0 --> http://www.vcarddav.org
- [VCARDDAV] Questions about vCard 4.0 (draft rev-1… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Javier Godoy
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Javier Godoy
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Javier Godoy
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Cyrus Daboo
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Julian Reschke
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Cyrus Daboo
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Julian Reschke
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Javier Godoy
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Daisuke Miyakawa
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Javier Godoy
- Re: [VCARDDAV] Questions about vCard 4.0 (draft r… Simon Perreault