Re: [Tzdist] [tzdist] #11 (service): how to represent the JSON "schema"

"tzdist issue tracker" <trac+tzdist@tools.ietf.org> Mon, 16 February 2015 17:33 UTC

Return-Path: <trac+tzdist@tools.ietf.org>
X-Original-To: tzdist@ietfa.amsl.com
Delivered-To: tzdist@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B23C1A1B6A for <tzdist@ietfa.amsl.com>; Mon, 16 Feb 2015 09:33:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 6Z5YKrT5HGoa for <tzdist@ietfa.amsl.com>; Mon, 16 Feb 2015 09:33:21 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 18A4D1A1B38 for <tzdist@ietf.org>; Mon, 16 Feb 2015 09:33:21 -0800 (PST)
Received: from localhost ([::1]:45724 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <trac+tzdist@tools.ietf.org>) id 1YNPXp-00088U-1l; Mon, 16 Feb 2015 09:33:17 -0800
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: "tzdist issue tracker" <trac+tzdist@tools.ietf.org>
X-Trac-Version: 0.12.3
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.12.3, by Edgewall Software
To: cyrus@daboo.name, mglt.ietf@gmail.com, lear@cisco.com
X-Trac-Project: tzdist
Date: Mon, 16 Feb 2015 17:33:17 -0000
X-URL: http://tools.ietf.org/tzdist/
X-Trac-Ticket-URL: http://trac.tools.ietf.org/wg/tzdist/trac/ticket/11#comment:5
Message-ID: <072.bf5024c0d8f5e807473566697ca0f60b@tools.ietf.org>
References: <057.c1b1e65ddffc292825e7b2a5c6def9cf@tools.ietf.org>
X-Trac-Ticket-ID: 11
In-Reply-To: <057.c1b1e65ddffc292825e7b2a5c6def9cf@tools.ietf.org>
X-SA-Exim-Connect-IP: ::1
X-SA-Exim-Rcpt-To: cyrus@daboo.name, mglt.ietf@gmail.com, lear@cisco.com, tzdist@ietf.org
X-SA-Exim-Mail-From: trac+tzdist@tools.ietf.org
X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false
Archived-At: <http://mailarchive.ietf.org/arch/msg/tzdist/XQJyj7WoyzsXBHt_xmenWkW5kJk>
Cc: tzdist@ietf.org
Subject: Re: [Tzdist] [tzdist] #11 (service): how to represent the JSON "schema"
X-BeenThere: tzdist@ietf.org
X-Mailman-Version: 2.1.15
List-Id: <tzdist.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tzdist>, <mailto:tzdist-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tzdist/>
List-Post: <mailto:tzdist@ietf.org>
List-Help: <mailto:tzdist-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tzdist>, <mailto:tzdist-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Feb 2015 17:33:24 -0000

#11: how to represent the JSON "schema"

Changes (by mglt.ietf@gmail.com):

 * status:  new => closed
 * resolution:   => fixed


Old description:

> Right now our draft makes use of draft-newton-json-content-rules which I
> found to be a fairly lightweight, relatively easy to understand way, to
> do that. However, that document is not actively being pursued. There has
> been some discussion in the JSON WG about working on a formal "schema"
> definition language for JSON, but that work did not make it into the
> current charter for the WG.
>
> I worry that waiting for a "formal" JSON schema to be defined would block
> us for quite some time. We could choose to do what jCal (RFC7265) and
> jCard (RFC7095) did and express the schema via ABNF, but I do think that
> is rather "ugly".

New description:

 Right now our draft makes use of draft-newton-json-content-rules which I
 found to be a fairly lightweight, relatively easy to understand way, to do
 that. However, that document is not actively being pursued. There has been
 some discussion in the JSON WG about working on a formal "schema"
 definition language for JSON, but that work did not make it into the
 current charter for the WG.

 I worry that waiting for a "formal" JSON schema to be defined would block
 us for quite some time. We could choose to do what jCal (RFC7265) and
 jCard (RFC7095) did and express the schema via ABNF, but I do think that
 is rather "ugly".

--

Comment:

 JSON notations have been included in the document section 6

 6. JSON Definitions


    [RFC7159] defines the structure of JSON objects using a set of
    primitive elements.  Those elements will be used to describe the
    structure of JSON objects used by this specification using a set of
    "rules".  The rules used are:

    OBJECT  represents a JSON object, defined in Section 4 of [RFC7159].
       "OBJECT" is followed by a parenthesized list of "MEMBER" rule
       names.  If a member rule name is preceded by a "?" (0x3F)
       character, that member is optional, otherwise all members are
       required.  If two or more member rule names are present, each



 Douglass & Daboo          Expires July 21, 2015                [Page 33]


 Internet-Draft               TZDIST Service                 January 2015


       separated from the other by a "|" (0x7C) character, then only one
       of those members MUST be present in JSON object.  JSON object
       members are unordered, and thus the order used in the rules is not
       significant.

    MEMBER  represents a member of a JSON object, defined in Section 4 of
       [RFC7159].  "MEMBER" is followed by a rule name, then the name of
       the member, followed by a ":", and then the value.  A value can be
       one of "OBJECT", "ARRAY", "NUMBER", "STRING", or "BOOLEAN" rules.

    ARRAY  represents a JSON array, defined in Section 5 of [RFC7159].
       "ARRAY" is followed by a value (one of "OBJECT", "ARRAY",
       "NUMBER", "STRING", or "BOOLEAN"), indicating the type of items
       used in the array.

    NUMBER  represents a JSON number, defined in Section 6 of [RFC7159].

    STRING  represents a JSON string, defined in Section 7 of [RFC7159].

    BOOLEAN  represents either of the JSON values "true" or "false",
       defined in Section 3 of [RFC7159].

    ;  a line starting with a ";" (0x3B) character is a comment.

    Note, clients MUST ignore any unexpected JSON members in responses
    from the server.

-- 
--------------------------------+-------------------------------
 Reporter:  cyrus@daboo.name    |       Owner:  cyrus@daboo.name
     Type:  defect              |      Status:  closed
 Priority:  major               |   Milestone:
Component:  service             |     Version:
 Severity:  Active WG Document  |  Resolution:  fixed
 Keywords:                      |
--------------------------------+-------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/tzdist/trac/ticket/11#comment:5>
tzdist <http://tools.ietf.org/tzdist/>