Re: [apps-discuss] Feedback on draft-ietf-appsawg-json-pointer-00

"Murray S. Kucherawy" <msk@cloudmark.com> Fri, 02 March 2012 22:47 UTC

Return-Path: <msk@cloudmark.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D347721E8065 for <apps-discuss@ietfa.amsl.com>; Fri, 2 Mar 2012 14:47:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.604
X-Spam-Level:
X-Spam-Status: No, score=-102.604 tagged_above=-999 required=5 tests=[AWL=-0.005, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mc3BAc38-EFi for <apps-discuss@ietfa.amsl.com>; Fri, 2 Mar 2012 14:47:57 -0800 (PST)
Received: from ht2-outbound.cloudmark.com (ht2-outbound.cloudmark.com [72.5.239.26]) by ietfa.amsl.com (Postfix) with ESMTP id 4AFCD21E8010 for <apps-discuss@ietf.org>; Fri, 2 Mar 2012 14:47:57 -0800 (PST)
Received: from EXCH-MBX901.corp.cloudmark.com ([fe80::addf:849a:f71c:4a82]) by exch-htcas902.corp.cloudmark.com ([fe80::e82a:4f80:7f44:eaf7%12]) with mapi id 14.01.0355.002; Fri, 2 Mar 2012 14:47:48 -0800
From: "Murray S. Kucherawy" <msk@cloudmark.com>
To: "apps-discuss@ietf.org" <apps-discuss@ietf.org>
Thread-Topic: [apps-discuss] Feedback on draft-ietf-appsawg-json-pointer-00
Thread-Index: AQHM9+gK+yT3RkbwbUqP3rSx/ahFYpZWf6IAgAGf8YD//3zT8A==
Date: Fri, 02 Mar 2012 22:47:48 +0000
Message-ID: <9452079D1A51524AA5749AD23E003928077013@exch-mbx901.corp.cloudmark.com>
References: <4F4FD8A5.6010603@cloudmark.com> <1330638350.2531.11.camel@neutron> <4F514AF9.5010506@cloudmark.com>
In-Reply-To: <4F514AF9.5010506@cloudmark.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.20.2.121]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [apps-discuss] Feedback on draft-ietf-appsawg-json-pointer-00
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Mar 2012 22:47:58 -0000

> -----Original Message-----
> From: apps-discuss-bounces@ietf.org [mailto:apps-discuss-bounces@ietf.org] On Behalf Of Mike Acar
> Sent: Friday, March 02, 2012 2:35 PM
> To: apps-discuss@ietf.org
> Subject: Re: [apps-discuss] Feedback on draft-ietf-appsawg-json-pointer-00
> 
> >> It's easy to imagine a case where a Pointer refers to a deep
> >> hierarchy, e.g. /a/b/c/d, and the application semantics of following
> >> it are to create automatically any non-existent intermediate objects.
> >>
> >> My initial thought was that the Pointer RFC should explicitly say
> >> that specs which use it (e.g. Patch) should define semantics for
> >> ambiguous cases (non-unique or non-existent member names, array index
> >> out of bounds, etc).
> 
> There is another case: What to do if a non-terminal reference token
> names a value which is not a structured type; e.g.
> 
> { "a" : "b" }
> 
> How should you interpret "/a/c/d"? For Patch this should be an error,
> but another application might promote the value of "a" from a string to
> an object or array. If the Pointer RFC says this MAY be an error, it
> disallows those semantics.

I don't agree that MAY disallows anything, but I do think the current expression is too mushy.

I think it's fine for the pointer document to say that the handling of such cases is application-specific, but it should actually say that, perhaps by using your two examples to illustrate how different applications using the pointer specification could behave.

-MSK