Re: [netmod] metadata in JSON
Andy Bierman <andy@yumaworks.com> Tue, 26 August 2014 14:19 UTC
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B3831A7032 for <netmod@ietfa.amsl.com>; Tue, 26 Aug 2014 07:19:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] 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 tmHyta69Jq3k for <netmod@ietfa.amsl.com>; Tue, 26 Aug 2014 07:19:51 -0700 (PDT)
Received: from mail-qa0-f45.google.com (mail-qa0-f45.google.com [209.85.216.45]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D39EA1A7033 for <netmod@ietf.org>; Tue, 26 Aug 2014 07:19:50 -0700 (PDT)
Received: by mail-qa0-f45.google.com with SMTP id cm18so13525390qab.4 for <netmod@ietf.org>; Tue, 26 Aug 2014 07:19:50 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=no8yFo/NCXqO3PILHHcy0W1T7hqMh/osP5gVByP5eP4=; b=kzVOupRydbm73uNOt0GkT6WFiiOQAycJaUckekwHpnqxTiHyH1SY+vKgQVOmKqGqsf A2yki9Li2JVHQGU9zGh9rUp35/POvhz1xbGw7lFDzco0v2sSF1Uq9npOucfcBujqrm40 Pffm0cJjJUK5UBwhn+0ql1C0+0+8D9/fgVYs71t/6X436gLxyqjQv+GAV49eANTwUpMb 960iMYuI0PkpQ76cvc57D9uTfQVgmuQwVnNIfaOrMlTFCKKCe728DvgjWNp1+lfPbGHf fAXYojI/ko8HqCdWYrE7ZzEBKapYrHKbkf35wg+BAkiFhbOlUhjXD2tUUGxBz2BLPosU Sf5Q==
X-Gm-Message-State: ALoCoQkBFfSzSx9UXb05fpxkepstD8NNFmdvZGWCRL/DwbSaijZufYFb+HKH+cp04fxrfW1CnzBE
MIME-Version: 1.0
X-Received: by 10.140.95.101 with SMTP id h92mr43723018qge.35.1409062789867; Tue, 26 Aug 2014 07:19:49 -0700 (PDT)
Received: by 10.140.83.137 with HTTP; Tue, 26 Aug 2014 07:19:49 -0700 (PDT)
In-Reply-To: <m2zjer2yga.fsf@nic.cz>
References: <CABCOCHS8aXQKMqq+h=7fvjhpdiBpR8PbCT5QkwM3Y9KKyV0=eQ@mail.gmail.com> <E0C7A946-BB33-493C-BD95-B3BFC3EC11DF@nic.cz> <CABCOCHTOYqBe1dVAJA2CmBhho2AG68nEg9o5pPwQavvDHy=3Vg@mail.gmail.com> <m2bns7qfno.fsf@nic.cz> <20140730110826.GE61382@elstar.local> <DB5305F2-2BE1-44FC-A8AA-648E4633F85E@nic.cz> <20140730130412.GB61698@elstar.local> <E3612646-17B9-44FA-8C4C-9C2F3FA1C67E@nic.cz> <20140731055201.GC63208@elstar.local> <5BA7630E-B06F-47B5-9ACD-92D9A3512864@nic.cz> <20140731122200.GC64359@elstar.local> <m2zjer2yga.fsf@nic.cz>
Date: Tue, 26 Aug 2014 07:19:49 -0700
Message-ID: <CABCOCHQEwamRQ3AC6NCTTi0UGa553gfkVmc4XnjsRE4MHxqLmQ@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Content-Type: multipart/alternative; boundary="001a11c15c500e88d5050188ffd7"
Archived-At: http://mailarchive.ietf.org/arch/msg/netmod/jeT1XiYUJDfBbL_H5lj-FIFxWZA
Cc: "netmod@ietf.org" <netmod@ietf.org>
Subject: Re: [netmod] metadata in JSON
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Aug 2014 14:19:55 -0000
Hi, This issue and been opened and closed again at least 3 times. Are we spinning on this issue until you get the answer you like? Which choice is the solution from Martin we already agreed to use? That is the one I prefer. The namespace URI is much longer than the module-name, and not easy to remember like the module name. But if YANG will not have attributes, then there may be no other choice. I do not agree with the CLR that only the RESTCONF protocol doc can define meta-data. What is the purpose of that rule? NETCONF has "with-defaults" in a separate document. The protocol needs to be modular so new optional features can be added over time. Vendors should be able to add meta-data as well. Andy On Tue, Aug 26, 2014 at 6:05 AM, Ladislav Lhotka <lhotka@nic.cz> wrote: > Hi, > > I would like to resolve the issue of metadata encoding in JSON, so let > me summarize the options we have. There are actually two valid questions: > > 1. Does the specification of the mapping of XML attributes in JSON > belong to the yang-json document, and if so, in what form? > > Possible answers: > > 1.1. No, as YANG doesn't model XML attributes. > 1.2. Yes, as normative text. > 1.3. Yes, as non-normative text. > > For 1.2 and 1.3, we have to answer the second question because I assume > most XML attributes in use with YANG-modelled data will have non-null > namespace: > > 2. How do we represent the namespace of an attribute in JSON? > > Possible answers, using > > <elem xmlns:x="http://example.com/ns/URI" x:attr="foo">bar</elem> > > as an example: > > 2.1. Use Clark's notation [1]: > > "elem": "bar", > "@elem": { > "{http://example.com/ns/URI}attr": "foo" > } > > 2.2. Associate somehow every attribute with a YANG module, and then use > the same notation as for encoding the namespace of YANG data nodes: > > "elem": "bar", > "@elem": { > "somemodule:attr": "foo" > } > > 2.3. Associate somehow the XML namespace URI with a prefix in JSON and > then use the same notation as for XML: > > "elem": "bar", > "@elem": { > "x:attr": "foo" > } > > In both 2.2 and 2.3, we need to say what "somehow" actually means. If we > accept 1.3, it could I guess involve a certain amount of hand-waving but > leaving it completely unanswered IMO makes the whole thing useless. > > I personally think that 2.3 would be a step in a wrong direction because > the URI-prefix duality was recognized as a serious problem of XML > namespaces [2]. > > Please indicate your preferences or propose something else. > > Thanks, Lada > > [1] http://tools.ietf.org/html/draft-saintandre-json-namespaces-00 > [2] http://blog.jclark.com/2010/01/xml-namespaces.html > > Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> writes: > > > On Thu, Jul 31, 2014 at 10:49:07AM +0200, Ladislav Lhotka wrote: > >> > >> On 31 Jul 2014, at 07:52, Juergen Schoenwaelder < > j.schoenwaelder@jacobs-university.de> wrote: > >> > >> > On Wed, Jul 30, 2014 at 05:53:30PM +0200, Ladislav Lhotka wrote: > >> >> > >> >>>>> understand that this makes the solution somewhat incomplete but it > >> >>>>> allows us to finish this document now and to move forward. > >> >>>> > >> >>>> That is my priority, too. > >> >>> > >> >>> Good. So what speaks against saying that if attribute names clash > and > >> >>> if attributes are scoped by a module name, then the encoding is XYZ? > >> >> > >> >> I thought YANG 1.1 was a good opportunity to decide about how to do > this scoping, provided that standard attributes are really needed. > >> >> > >> > > >> > Lets keep the discussion focused on the JSON document. Are you OK with > >> > the proposal to add text that attribute names may be scoped? > >> > >> Yes, if there is no other choice. It is unclear what "scoped" means. > >> > > > > Scoped by a namespace, such as 'namespace:identifier'. > > > > /js > > > > -- > > Juergen Schoenwaelder Jacobs University Bremen gGmbH > > Phone: +49 421 200 3587 Campus Ring 1, 28759 Bremen, Germany > > Fax: +49 421 200 3103 <http://www.jacobs-university.de/> > > -- > Ladislav Lhotka, CZ.NIC Labs > PGP Key ID: E74E8C0C >
- [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Reinaldo Penno
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Reinaldo Penno
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Randy Presuhn
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Andy Bierman
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Martin Bjorklund
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Ladislav Lhotka
- Re: [netmod] metadata in JSON Juergen Schoenwaelder
- Re: [netmod] metadata in JSON Reinaldo Penno
- Re: [netmod] metadata in JSON Ladislav Lhotka