Re: [Json] Schema Requirements (Was: Re: Nudging the English-language vs. formalisms discussion forward)
Nico Williams <nico@cryptonector.com> Thu, 20 February 2014 17:28 UTC
Return-Path: <nico@cryptonector.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EE7121A025E for <json@ietfa.amsl.com>; Thu, 20 Feb 2014 09:28:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.378
X-Spam-Level:
X-Spam-Status: No, score=-1.378 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GVSfoHaLUH_y for <json@ietfa.amsl.com>; Thu, 20 Feb 2014 09:28:48 -0800 (PST)
Received: from homiemail-a90.g.dreamhost.com (caiajhbdcaib.dreamhost.com [208.97.132.81]) by ietfa.amsl.com (Postfix) with ESMTP id 6D92C1A0252 for <json@ietf.org>; Thu, 20 Feb 2014 09:28:48 -0800 (PST)
Received: from homiemail-a90.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a90.g.dreamhost.com (Postfix) with ESMTP id B10392AC07A for <json@ietf.org>; Thu, 20 Feb 2014 09:28:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h= mime-version:in-reply-to:references:date:message-id:subject:from :to:cc:content-type; s=cryptonector.com; bh=3KWUvowvE7IsRnzMt2Tl tbaQrLM=; b=FqoSPtAsX3iGOiEi8v3JTBco68HQyLh74vNie22/nXgS30VPNOvH eilhhw1WqK6LY/ERPKrUEm3lP4Q0xVu6+gtDMfl4S9GI6tsXpymnmsMfftMw3obQ ICQ71ggmThclDktx358HD3bgvEqfBKDH/A1hbMlIsoY80qOa/OBOnng=
Received: from mail-we0-f177.google.com (mail-we0-f177.google.com [74.125.82.177]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a90.g.dreamhost.com (Postfix) with ESMTPSA id 34FD82AC079 for <json@ietf.org>; Thu, 20 Feb 2014 09:28:43 -0800 (PST)
Received: by mail-we0-f177.google.com with SMTP id t61so1726876wes.36 for <json@ietf.org>; Thu, 20 Feb 2014 09:28:42 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QCpVaRRIevoM1nZF0SZvMU8Q0715HohjdMXShhhtvsM=; b=GLpvZtywarPMgvEVcSznm77jz/0txDJxpOgpyFOMJaAvxUJjzDIY22VKNKbAkqP9ui xcBxSQXzEJj6kwRcUihRpa2+riankpk19gEOZrXrguPrlUbhFF9a/uf4r10+wabg1L3w bB4J2hFUC47vIZ25586Ewxe00MN45LkO7TOz8AtNsIRqkl/ThDZ7eoz6BVmwBAKo+g5b 99c2AA8E4c13ceBhTYpQuP50JXaYAPO0rE0vsErc2dWwCX8erh+9Gq1MrdCDhDytKOWh s2THc7DyJ5Qh6VdAg8ZLdRxscKe2/ZqOHZqOkLKJ/0+Qp6l+XvCLHdNFVQjm/gAwtHac BY9Q==
MIME-Version: 1.0
X-Received: by 10.180.98.35 with SMTP id ef3mr8135016wib.39.1392916932524; Thu, 20 Feb 2014 09:22:12 -0800 (PST)
Received: by 10.217.108.132 with HTTP; Thu, 20 Feb 2014 09:22:12 -0800 (PST)
In-Reply-To: <FE06CD427A4044B995F57C4926A1C8C2@codalogic>
References: <C87F9B96-E028-4F0E-A950-B39D3F68FFE7@vpnc.org> <CAMm+LwhUh_yN-hzaoDWfrO_H2iGvYvj99BCE4EcYmgqCPqXoVQ@mail.gmail.com> <CAHBU6itpttXBfVQGKw=u==k_XSdrht81+m_YDNZP6RM+=9CNow@mail.gmail.com> <CAK3OfOjHkBFOzJSx=bhhoQJ8Z2bWyEXK52dNyYGWVb9FAj99ow@mail.gmail.com> <CAHBU6itzQ0rzU3EUYUqzm2qhx03qk1mpx2sehS_zeiw1ypcEgw@mail.gmail.com> <CAK3OfOhfjkbq6eREkt=MBVL1C9ubh-6My3Lvg-mnOxD0+cpN1Q@mail.gmail.com> <CAHBU6isZbew8O1HJ+XcFsMCR42iDoO_uemPXVwa3=vM5A=MngA@mail.gmail.com> <CAK3OfOgmVsNJqrqCfsD7h37axssOoaX3DGHqO=bTn5bWrA+MFA@mail.gmail.com> <A4B53816-6FBF-4A37-8BC9-F0A9D0867BCD@tzi.org> <357740A8AA0F4316BE630917321FAB4D@codalogic> <B1EBE05A69362F001777F807@cyrus.local> <47BB9131737D42218A6382DEF45BBE2C@codalogic> <CAMm+LwgmHjoLu2=zTOERN8LO74hWpp45yy2epd2JzqDRM9oFfg@mail.gmail.com> <AF211B67DB3D453D9DE8F8FA53886F73@codalogic> <CAMm+LwguTBkGQBHN+e2kU6XxECsic9Kcvda+7X6KDNe0TQxq4w@mail.gmail.com> <FE06CD427A4044B995F57C4926A1C8C2@codalogic>
Date: Thu, 20 Feb 2014 11:22:12 -0600
Message-ID: <CAK3OfOiogM36fR9oobh3D61ybsV6ZVbTb+WGjD8OZ71ALey5Qw@mail.gmail.com>
From: Nico Williams <nico@cryptonector.com>
To: Pete Cordell <petejson@codalogic.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/json/YVhx-iwCMjqa9PVUOS6wLTbXPnI
Cc: Carsten Bormann <cabo@tzi.org>, Phillip Hallam-Baker <hallam@gmail.com>, JSON WG <json@ietf.org>
Subject: Re: [Json] Schema Requirements (Was: Re: Nudging the English-language vs. formalisms discussion forward)
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Feb 2014 17:28:50 -0000
On Thu, Feb 20, 2014 at 10:55 AM, Pete Cordell <petejson@codalogic.com> wrote: > My position is that, having recognised that Dates represent a case where > microformats are useful, perhaps we should not assume that these are the > only cases. IP addresses? Crypto OIDs? Dates on Mars? There are two ways to deal with alternative representations: - convert to/from a canonical representation and use that one for interchange - use a discriminated union (XDR) / CHOICE (ASN.1, same thing) I think any decent schema will need to allow for the latter, and not just because of types that have multiple possible representations. As for the former, it's always an option, schema or not. And it's more efficient to have receiver-makes-right in this case (dates & timestamps), though that does require having a fixed set of representations that can be sent, else a negotiation would be required. This seems obvious enough that we shouldn't dwell on it. The real question is: which schema(s) should we be copying/learning from? So far the answer seems to be down to: - Schematron - RelaxNG compact - Web IDL I think that's a fine starting point. If you want to talk about requirements, I think we should consider things like: - which grammar parsing algorithms we want to support: LR, LALR(1), LALR(k), GLR, ... - the basic metaphor: - types! (a-la ASN.1, only without the tags, no IOS, ...) - pattern matching rules! (something like collections of XPath-like expressions) - something else The metaphor thing gets to, in part, the purpose of the schema: - documentation for sure, validation no doubt, but, code generation (into C, Java, JS, C#, ...)? (IMO: yes) Finally: - extensibility (meta: to have it or not; if yes, how) - modularity (meta: to have it or not; if yes, how) Oh, and: - one schema language, or more? (IMO: inevitably we'll end up with more) I may have missed some things. But I think that's a decent set of attributes from which to start a schema requirements discussion. Nico --
- [Json] Nudging the English-language vs. formalism… Paul Hoffman
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Paul Hoffman
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- [Json] Nudging the English-language vs. formalism… Paul Hoffman
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… John Cowan
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… John Cowan
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Pete Cordell
- Re: [Json] Nudging the English-language vs. forma… Pete Cordell
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Tatu Saloranta
- Re: [Json] Nudging the English-language vs. forma… Carsten Bormann
- Re: [Json] Nudging the English-language vs. forma… John Cowan
- Re: [Json] Nudging the English-language vs. forma… John Cowan
- Re: [Json] Nudging the English-language vs. forma… Barry Leiba
- Re: [Json] Nudging the English-language vs. forma… Mark Nottingham
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Andrew Newton
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Pete Cordell
- Re: [Json] Nudging the English-language vs. forma… Barry Leiba
- Re: [Json] Nudging the English-language vs. forma… Bjoern Hoehrmann
- Re: [Json] Nudging the English-language vs. forma… John Cowan
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Manger, James
- Re: [Json] Nudging the English-language vs. forma… Tim Bray
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… Mark Nottingham
- Re: [Json] Nudging the English-language vs. forma… Nico Williams
- Re: [Json] Nudging the English-language vs. forma… Cyrus Daboo
- Re: [Json] Nudging the English-language vs. forma… Andrew Newton
- Re: [Json] Nudging the English-language vs. forma… Paul Hoffman
- Re: [Json] Nudging the English-language vs. forma… Pete Cordell
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- Re: [Json] Nudging the English-language vs. forma… John Cowan
- Re: [Json] Nudging the English-language vs. forma… Pete Cordell
- Re: [Json] Nudging the English-language vs. forma… Phillip Hallam-Baker
- [Json] Schema Requirements (Was: Re: Nudging the … Pete Cordell
- Re: [Json] Schema Requirements (Was: Re: Nudging … Phillip Hallam-Baker
- Re: [Json] Schema Requirements (Was: Re: Nudging … Nico Williams
- Re: [Json] Schema Requirements (Was: Re: Nudging … Nico Williams
- Re: [Json] Schema Requirements (Was: Re: Nudging … Phillip Hallam-Baker
- Re: [Json] Schema Requirements (Was: Re: Nudging … Nico Williams
- Re: [Json] Schema Requirements (Was: Re: Nudging … Pete Cordell
- Re: [Json] Schema Requirements (Was: Re: Nudging … Phillip Hallam-Baker
- Re: [Json] Schema Requirements (Was: Re: Nudging … Pete Cordell
- Re: [Json] Schema Requirements (Was: Re: Nudging … Nico Williams
- Re: [Json] Schema Requirements (Was: Re: Nudging … Pete Cordell
- Re: [Json] Schema Requirements (Was: Re: Nudging … Nico Williams
- Re: [Json] Schema Requirements (Was: Re: Nudging … Pete Cordell