Re: [VCARDDAV] Cardinality notation

Cyrus Daboo <cyrus@daboo.name> Tue, 02 November 2010 13:54 UTC

Return-Path: <cyrus@daboo.name>
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 34F853A67C3 for <vcarddav@core3.amsl.com>; Tue, 2 Nov 2010 06:54:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.299
X-Spam-Level:
X-Spam-Status: No, score=-102.299 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, USER_IN_WHITELIST=-100]
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 2TWWOUf05-7f for <vcarddav@core3.amsl.com>; Tue, 2 Nov 2010 06:54:29 -0700 (PDT)
Received: from daboo.name (daboo.name [151.201.22.177]) by core3.amsl.com (Postfix) with ESMTP id 517A23A67AE for <vcarddav@ietf.org>; Tue, 2 Nov 2010 06:54:29 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 2A5BC1A8C756F; Tue, 2 Nov 2010 09:54:32 -0400 (EDT)
X-Virus-Scanned: amavisd-new at daboo.name
Received: from daboo.name ([127.0.0.1]) by localhost (chewy.mulberrymail.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id H1mDjn+--tsa; Tue, 2 Nov 2010 09:54:31 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.101.32.44]) by daboo.name (Postfix) with ESMTPSA id 68D311A8C7564; Tue, 2 Nov 2010 09:54:30 -0400 (EDT)
Date: Tue, 02 Nov 2010 09:54:27 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Simon Perreault <simon.perreault@viagenie.ca>, Tantek Çelik <tantek@cs.stanford.edu>
Message-ID: <326FDA79EA28A7EA33625FF1@caldav.corp.apple.com>
In-Reply-To: <4CD00F4F.2000507@viagenie.ca>
References: <4CD00F4F.2000507@viagenie.ca>
X-Mailer: Mulberry/4.1.0a1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size="933"
Cc: vcarddav@ietf.org
Subject: Re: [VCARDDAV] Cardinality notation
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, 02 Nov 2010 13:54:30 -0000

Hi Simon,

--On November 2, 2010 9:17:03 AM -0400 Simon Perreault 
<simon.perreault@viagenie.ca> wrote:

> How about not inventing our own and using something that people may have
> already seen before?
>
> How about UML?
>
> 1    - exactly one instance must be present
> 1..* - at least one instance must be present
> 0..1 - at most one instance may be present
> *    - any number of instances may be present

Or something more familiar in the IETF - ABNF style:

1    - exactly one instance must be present
1*   - at least one instance must be present
*1   - at most one instance may be present
*    - any number of instances may be present

Though that is perhaps a little less readable than what you proposed. 
Anyway, by using ABNF, that does allow flexibility in the future of using 
more complex cardinality rules, e.g. 1*3 etc. It maybe that one day we will 
actually have a proper, complete ABNF for vcard.

-- 
Cyrus Daboo