Re: [Json] Seeking more input on draft-ietf-json-text-sequence
Stefan Drees <stefan@drees.name> Sun, 18 May 2014 09:48 UTC
Return-Path: <stefan@drees.name>
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 C80391A02C0 for <json@ietfa.amsl.com>; Sun, 18 May 2014 02:48:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.55
X-Spam-Level:
X-Spam-Status: No, score=-1.55 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, 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 StO1r82soY_w for <json@ietfa.amsl.com>; Sun, 18 May 2014 02:48:13 -0700 (PDT)
Received: from mout.web.de (mout.web.de [212.227.17.11]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA256 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 17C461A02BC for <json@ietf.org>; Sun, 18 May 2014 02:48:13 -0700 (PDT)
Received: from newyork.local.box ([80.187.96.163]) by smtp.web.de (mrweb102) with ESMTPSA (Nemesis) id 0MVu1U-1WF5oA0zhQ-00X4Pv for <json@ietf.org>; Sun, 18 May 2014 11:48:10 +0200
Message-ID: <537881D9.3080001@drees.name>
Date: Sun, 18 May 2014 11:48:09 +0200
From: Stefan Drees <stefan@drees.name>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: json@ietf.org
References: <20140509173159.28855.94523.idtracker@ietfa.amsl.com> <A89181FF-2FAB-4C17-86AC-685D09AD0CA4@vpnc.org> <537875D8.1080807@drees.name>
In-Reply-To: <537875D8.1080807@drees.name>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:qgyyGVnNTLKzW6VVq0EupKkSykNkhNC6SpfB+J+uO/cDzgz9tPA fFNgCzZK1PedmyGXiYyChkmkmT9WWNY++yYNPdNlS3DXNjXlv/xoMPes2c34BrqoXbxl8s6 OYcmksftdMB+a/HiOlZQAz9VzyAnqfQLvCwS1axgm8Fa9XqCRGFYkqs+2ATBDhdVBn2w01V BBBB4iQUB3tBvNLqI+1vA==
Archived-At: http://mailarchive.ietf.org/arch/msg/json/eGNAKnKs3CeiAGyMMRcVNt6ZLJ4
Subject: Re: [Json] Seeking more input on draft-ietf-json-text-sequence
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: stefan@drees.name
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: Sun, 18 May 2014 09:48:15 -0000
On 2014-05-18 10:56 +01:00, Stefan Drees sent during streaming read session of draft-02: > On 2014-05-14 20:32 +01:00, Paul Hoffman wrote: >> Greetings again. Wearing my chair hat, I encourage people in the >> group(especially you quiet types) to review this WG draft and let the >> WG know >> what you think. The idea of JSON text sequences has many applications, >> and folks have invented things like this in the past for their own >> internal purposes. We would like to make sure that this document covers >> as many use cases as possible. >> >> --Paul Hoffman > > I like to understand grammars also bottom up - which might qualify as a > lexer's perspective - overlapping rules like the one for ws1 and ws2 in > the suggested grammar do not really make things clearer for me. > Additionally the reader will benefit from the expressed clear > assumption, how these ws(''|1|2) relate to each other. > > So, I suggest to change (as found in draft-02): > > # --- 8< ---- > 2. JSON Text Sequence Format > > The ABNF [RFC5234] for the JSON text sequence format is as follows: > > JSON-sequence = *ws1 *(JSON-text *ws2 %x0A *ws1) > ws1 = %x20 / %x09 / %x0A / %x0D > ws2 = %x20 / %x09 / %x0D > JSON-text = <given by RFC7159> > > Figure 1: JSON text sequence ABNF > > # --- 8< ---- > > into either: > > # --- 8< ---- > 2. JSON Text Sequence Format > > The ABNF [RFC5234] for the JSON text sequence format is as follows: > > JSON-sequence = *(ws-no-nl > / nl) *(JSON-text *ws-no-nl nl *(ws-no-nl / nl)) > nl = %x0A > ws-no-nl = ( %x20 / %x09 / %x0D ) > JSON-text = <given by RFC7159> > > Figure 1: JSON text sequence ABNF > > When combining the grammars, the rule for ws in the JSON-text is > therefore equivalent to *( ws-without-newline / newline ) > > # --- 8< ---- > > or less cryptic but wrapped some more: > > # --- 8< ---- > 2. JSON Text Sequence Format > > The ABNF [RFC5234] for the JSON text sequence format is as follows: > > JSON-sequence = *( > ws-without-newline / > newline ) *( JSON-text *ws-without-newline newline *( > ws-without-newline / newline ) ) > newline = %x0A > ws-without-newline = ( %x20 / %x09 / %x0D ) > JSON-text = <given by RFC7159> > > Figure 1: JSON text sequence ABNF > > When combining the grammars, the production for ws in the JSON-text > is therefore equivalent to *( ws-without-newline / newline ) > > # --- 8< ---- *preferred* (cf. below) > > ... but I am *not* passionate about this. Given the short length, focused style of the document, I think these changes do form a good contribution towards clarity and readability. > > It is just that the mix of optional sets, where one is a proper subset > of the other to me smells very implicit, where being explicit (choosing > a direct decomopsition like "X/x and x" to me reads well and is not that > much longer. > > What do the others think? > > PS: If the parentheses in the simple rules do not match our current > styleguide, just remove them, it is the decomposition I am interested in. and of course adapt accordingly figure 2 located in section "3. Use for Logfiles, or How to Resynchronize Following Truncated entries" from the current: # --- 8< ---- boundary = endchar *ws2 %0xA *ws1 startchar endchar = ( "}" / "]" / %x22 / "e" / "l" / DIGIT ) startchar = ( "{" / "[" / %x22 / "t" / "f" / "n" / "-" / DIGIT ) # --- 8< ---- to the (short version): # --- 8< ---- boundary = endchar *ws-no-nl nl *(ws-no-nl / nl) startchar endchar = ( "}" / "]" / %x22 / "e" / "l" / DIGIT ) startchar = ( "{" / "[" / %x22 / "t" / "f" / "n" / "-" / DIGIT ) # --- 8< ---- or *preferred* (more explicit version): # --- 8< ---- boundary = endchar *ws-without-newline newline *( ws-without-newline / newline) startchar endchar = ( "}" / "]" / %x22 / "e" / "l" / DIGIT ) startchar = ( "{" / "[" / %x22 / "t" / "f" / "n" / "-" / DIGIT ) # --- 8< ---- Note: Aliasing %0xA with a readable term lke newline to me shines as a service to the reader, emphasizing the special role this token has in the recommendation which is so nicely stated in: # --- 8< ---- Requirements: o JSON text sequence encoders MUST emit a newline after any JSON text. # --- 8< ---- So the longer versions presented above are the ones, I would prefer. (those with "newline" instead of "nl"). Sorry for streaming feedback mode, Stefan. > All the best, > Stefan > >> On May 9, 2014, at 10:31 AM, internet-drafts@ietf.org wrote: >> >>> >>> A New Internet-Draft is available from the on-line Internet-Drafts >>> directories. >>> This draft is a work item of the JavaScript Object Notation Working >>> Group of the IETF. >>> >>> Title : JavaScript Object Notation (JSON) Text >>> Sequences >>> Author : Nicolas Williams >>> Filename : draft-ietf-json-text-sequence-02.txt >>> Pages : 10 >>> Date : 2014-05-09 >>> >>> Abstract: >>> This document describes the JSON text sequence format and associated >>> media type. >>> >>> >>> The IETF datatracker status page for this draft is: >>> https://datatracker.ietf.org/doc/draft-ietf-json-text-sequence/ >>> >>> There's also a htmlized version available at: >>> http://tools.ietf.org/html/draft-ietf-json-text-sequence-02 >>> >>> A diff from the previous version is available at: >>> http://www.ietf.org/rfcdiff?url2=draft-ietf-json-text-sequence-02 >> >> >> _______________________________________________ >> json mailing list >> json@ietf.org >> https://www.ietf.org/mailman/listinfo/json >> > > _______________________________________________ > json mailing list > json@ietf.org > https://www.ietf.org/mailman/listinfo/json
- [Json] I-D Action: draft-ietf-json-text-sequence-… internet-drafts
- [Json] Seeking more input on draft-ietf-json-text… Paul Hoffman
- Re: [Json] Seeking more input on draft-ietf-json-… Stefan Drees
- Re: [Json] Seeking more input on draft-ietf-json-… Stefan Drees
- Re: [Json] Seeking more input on draft-ietf-json-… Nico Williams
- Re: [Json] Seeking more input on draft-ietf-json-… Nico Williams
- Re: [Json] Seeking more input on draft-ietf-json-… Nico Williams
- Re: [Json] Seeking more input on draft-ietf-json-… Stefan Drees
- Re: [Json] Seeking more input on draft-ietf-json-… Nico Williams
- Re: [Json] Seeking more input on draft-ietf-json-… Manger, James
- Re: [Json] Seeking more input on draft-ietf-json-… Nico Williams