Re: [netmod] xpath expressions in JSON
Martin Bjorklund <mbj@tail-f.com> Thu, 11 October 2018 06:39 UTC
Return-Path: <mbj@tail-f.com>
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 DF94B130E39 for <netmod@ietfa.amsl.com>; Wed, 10 Oct 2018 23:39:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, 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 u43j7fEarZYW for <netmod@ietfa.amsl.com>; Wed, 10 Oct 2018 23:39:08 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id DEAE6130E2E for <netmod@ietf.org>; Wed, 10 Oct 2018 23:39:07 -0700 (PDT)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id 286041AE0310; Thu, 11 Oct 2018 08:39:05 +0200 (CEST)
Date: Thu, 11 Oct 2018 08:39:04 +0200
Message-Id: <20181011.083904.763170181197608903.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: rrahman@cisco.com, lhotka@nic.cz, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHT32pSP3raNj6pP3BY9ji4DnOoOAaKVY7QyfV4tqqp9KA@mail.gmail.com>
References: <20181010.155915.278994099457235212.mbj@tail-f.com> <3B614CF4-9545-4C31-BEF4-CDFBF72AA045@cisco.com> <CABCOCHT32pSP3raNj6pP3BY9ji4DnOoOAaKVY7QyfV4tqqp9KA@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/OBu7mKEx8Mk33eilvzi_daUVYQs>
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: Thu, 11 Oct 2018 06:39:10 -0000
Andy Bierman <andy@yumaworks.com> 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. Not at all. What I propose is perfectly fine, legal XPath 1.0. XPath 1.0 says that an XPath expression is evaluated in a context. One item in the context is a set of mappings from <prefix> to <uri>, where <prefix> is used to lookup prefixes used in the XPath expression, e.g. in "/foo:interfaces" "foo" is the prefix. It is perfectly fine to say that the prefix mapping set is this: "ietf-interfaces" -> "urn:ietf:params:xml:ns:yang:ietf-interfaces" "ietf-ip" -> "urn:ietf:params:xml:ns:yang:ietf-ip" and use that to evaluate the expression /ietf-interfaces:interfaces/ietf-interfaces:interface/ietf-ip/ipv4 /martin > > > > 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 > >
- [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