Re: [netmod] metadata in JSON

Ladislav Lhotka <lhotka@nic.cz> Tue, 26 August 2014 14:28 UTC

Return-Path: <lhotka@nic.cz>
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 7858B1A8028 for <netmod@ietfa.amsl.com>; Tue, 26 Aug 2014 07:28:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.319
X-Spam-Level:
X-Spam-Status: No, score=-1.319 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, RP_MATCHES_RCVD=-0.668] 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 dyxs6FB6WtAn for <netmod@ietfa.amsl.com>; Tue, 26 Aug 2014 07:28:48 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 01E911A70FE for <netmod@ietf.org>; Tue, 26 Aug 2014 07:28:48 -0700 (PDT)
Received: from [172.29.2.201] (unknown [77.48.225.7]) by mail.nic.cz (Postfix) with ESMTPSA id 699D8141B8C; Tue, 26 Aug 2014 16:28:46 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1409063326; bh=XtGKhr5lISkK/ATpKx4JZ07lPrfh3I0lLoLvd7nvhps=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=m7+uxWT2RczHLqsSUQXvB/suaMxLIBbO7KkxWBGv6lRLtXQ0ajDmG2qQixXRRSXtC xkxQP4zkU5m7Q63h1CWthtbDdYfiEkEQ5ZmMOtnoMC7LfEWYUS/IYi1E2f2f5vRdwt m5+Gb2aSHs/hkPcB5/CNaJ0Mpd21mrkeQt1YVGwU=
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <CABCOCHQEwamRQ3AC6NCTTi0UGa553gfkVmc4XnjsRE4MHxqLmQ@mail.gmail.com>
Date: Tue, 26 Aug 2014 16:28:40 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <6D9FD52D-0401-4115-AB99-BDC893949434@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> <CABCOCHQEwamRQ3AC6NCTTi0UGa553gfkVmc4XnjsRE4MHxqLmQ@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.1878.6)
X-Virus-Scanned: clamav-milter 0.98.1 at mail
X-Virus-Status: Clean
Archived-At: http://mailarchive.ietf.org/arch/msg/netmod/LbxlGa05QsyvnE1pgJ2X5Asp_fA
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:28:49 -0000

On 26 Aug 2014, at 16:19, Andy Bierman <andy@yumaworks.com> wrote:

> 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?

I am now seriously confused. Can you point me to that Martin’s solution? Did it take into account attribute namespaces?

Lada

> 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
> 

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C