Re: [netmod] xpath expressions in JSON
Ladislav Lhotka <lhotka@nic.cz> Mon, 15 October 2018 14:25 UTC
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA4E3130E76 for <netmod@ietfa.amsl.com>; Mon, 15 Oct 2018 07:25:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 8uENMxMmYeyt for <netmod@ietfa.amsl.com>; Mon, 15 Oct 2018 07:25:52 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 37F36130E7E for <netmod@ietf.org>; Mon, 15 Oct 2018 07:25:52 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id CF4201821139; Mon, 15 Oct 2018 16:33:01 +0200 (CEST)
Received: from localhost (nat-2.nic.cz [217.31.205.2]) by trail.lhotka.name (Postfix) with ESMTPSA id 1E6211820053; Mon, 15 Oct 2018 16:32:59 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: andy@yumaworks.com, rrahman@cisco.com, netmod@ietf.org
In-Reply-To: <20181011.084242.2147348417024315805.mbj@tail-f.com>
References: <3B614CF4-9545-4C31-BEF4-CDFBF72AA045@cisco.com> <CABCOCHT32pSP3raNj6pP3BY9ji4DnOoOAaKVY7QyfV4tqqp9KA@mail.gmail.com> <74ab4ac248f1933ba7a3a095eb7bb1865325588e.camel@nic.cz> <20181011.084242.2147348417024315805.mbj@tail-f.com>
Mail-Followup-To: Martin Bjorklund <mbj@tail-f.com>, andy@yumaworks.com, rrahman@cisco.com, netmod@ietf.org
Date: Mon, 15 Oct 2018 16:25:48 +0200
Message-ID: <87zhvfi8wj.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/3pMTKd2BI0LSEmcBQQqVJVX2cZ8>
Subject: Re: [netmod] xpath expressions in JSON
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 15 Oct 2018 14:25:56 -0000
Martin Bjorklund <mbj@tail-f.com> writes: > Ladislav Lhotka <lhotka@nic.cz> wrote: >> On Wed, 2018-10-10 at 19:23 -0700, Andy Bierman wrote: >> > >> > >> > On Wed, Oct 10, 2018 at 6:59 PM, Reshad Rahman (rrahman) <rrahman@cisco.com> >> > wrote: >> > > On 2018-10-10, 9:59 AM, "netmod on behalf of Martin Bjorklund" < >> > > netmod-bounces@ietf.org on behalf of mbj@tail-f.com> wrote: >> > > >> > > Ladislav Lhotka <lhotka@nic.cz> wrote: >> > > > Martin Bjorklund <mbj@tail-f.com> writes: >> > > > >> > > > > Hi, >> > > > > >> > > > > While reviewing restconf-notif, I saw this example: >> > > > > >> > > > > { >> > > > > "ietf-subscribed-notifications:input": { >> > > > > "stream": "NETCONF", >> > > > > "stream-xpath-filter": "/ds:foo/", >> > > > > "dscp": "10" >> > > > > } >> > > > > } >> > > > > >> > > > > Note the "stream-xpath-filter". It has a prefix in the XPath >> > > string. >> > > > > How are prefixes declared when JSON is used? >> > > > > >> > > > > The leaf "stream-xpath-filter" says: >> > > > > >> > > > > o The set of namespace declarations are those in >> > > scope on >> > > > > the 'stream-xpath-filter' leaf element. >> > > > > >> > > > > (I think I provided that text...) >> > > > > >> > > > > This assumes that the encoding is XML, or at leas that the encoding >> > > > > can somehow transfer namespace declarations. >> > > > >> > > > It can't. There are two options: >> > > > >> > > > 1. have different representations of this value in XML and JSON, >> > > > analogically to instance indentifiers (sec. 6.11 in RFC 7951). >> > > > >> > > > 2. use a module name rather than a prefix in XML, too. >> > > > >> > > > I would suggest #2. >> > > <RR> But that means making non-backwards compatible change to the XML >> > > representation? >> > >> > Not really. It means NETMOD WG would be creating its own special variant of >> > XPath. >> >> The thing is that XPath is "XML Path Language", so using it outside XML is >> problematic. > > Not necessarily. Section 5 of the XPath 1.0 spec defins the "data > model" where an XPath expression is applied. We could make a formal > specification of how a YANG data tree maps to this data model (pretty > straightforward...). I think experience from implementations over the > last 8 years show that this in fact works quite well. Except some parts that don't apply. For example, siblings nodes in XPath are ordered, whereas in YANG 'foo[1]' may give unpredictable results. This is probably OK in YANG modules but not so much if XPath expressions are used as configuration data. Lada > > > /martin > > > >> >> Lada >> >> > >> > > Hmm, so you mean change the leaf "stream-xpath-filter" to say: >> > > >> > > o The set of namespace declarations has one member for each >> > > YANG module supported by the server. This member maps >> > > from the YANG module name to the YANG module namespace. >> > > >> > > This means that in the XPath expression, the module name >> > > serves as the prefix. >> > > >> > > .... and then also give an example of this. >> > > >> > > This is probably what we need to do in all places where yang:xpath1.0 >> > > is used, going forward. Maybe even define a new type >> > > yang:xpath1.0-2 (name?) with the set of namespace declarations >> > > built-in. >> > >> > >> > We should avoid making off-the-shelf implementations of standards like XPath >> > unusable. >> > At the very least this should be only available if the server supports it >> > (with a capability URI) >> > >> > >> > > <RR> So we need an update to RFC7951? >> > > >> > > Regards, >> > > Reshad. >> > > >> > >> > >> > Andy >> > >> > > /martin >> > > >> > > >> > > >> > > >> > > >> > > > >> > > > Lada >> > > > >> > > > > >> > > > > How is this supposed to work with JSON? >> > > > > >> > > > > >> > > > > /martin >> > > > > >> > > > > _______________________________________________ >> > > > > netmod mailing list >> > > > > netmod@ietf.org >> > > > > https://www.ietf.org/mailman/listinfo/netmod >> > > > >> > > > -- >> > > > Ladislav Lhotka >> > > > Head, CZ.NIC Labs >> > > > PGP Key ID: 0xB8F92B08A9F76C67 >> > > > >> > > >> > > _______________________________________________ >> > > netmod mailing list >> > > netmod@ietf.org >> > > https://www.ietf.org/mailman/listinfo/netmod >> > > >> > > >> > > _______________________________________________ >> > > netmod mailing list >> > > netmod@ietf.org >> > > https://www.ietf.org/mailman/listinfo/netmod >> > >> > >> -- >> Ladislav Lhotka >> Head, CZ.NIC Labs >> PGP Key ID: 0xB8F92B08A9F76C67 >> -- Ladislav Lhotka Head, CZ.NIC Labs PGP Key ID: 0xB8F92B08A9F76C67
- [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Reshad Rahman (rrahman)
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Qin Wu
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Vladimir Vassilev
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Vladimir Vassilev
- Re: [netmod] xpath expressions in JSON Vladimir Vassilev
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Reshad Rahman (rrahman)
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Reshad Rahman (rrahman)
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Reshad Rahman (rrahman)
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Vladimir Vassilev
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Reshad Rahman (rrahman)
- Re: [netmod] xpath expressions in JSON Vladimir Vassilev
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Juergen Schoenwaelder
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Juergen Schoenwaelder
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Andy Bierman
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Qin Wu
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Juergen Schoenwaelder
- Re: [netmod] xpath expressions in JSON Robert Wilton
- Re: [netmod] xpath expressions in JSON Juergen Schoenwaelder
- Re: [netmod] xpath expressions in JSON Ladislav Lhotka
- Re: [netmod] xpath expressions in JSON Juergen Schoenwaelder
- Re: [netmod] xpath expressions in JSON Martin Bjorklund
- Re: [netmod] xpath expressions in JSON Kent Watsen