Re: [netmod] xpath expressions in JSON

Andy Bierman <andy@yumaworks.com> Thu, 11 October 2018 02:23 UTC

Return-Path: <andy@yumaworks.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 995CA130E90 for <netmod@ietfa.amsl.com>; Wed, 10 Oct 2018 19:23:42 -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, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 DpMDx1fiMR7y for <netmod@ietfa.amsl.com>; Wed, 10 Oct 2018 19:23:39 -0700 (PDT)
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) (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 45450130E83 for <netmod@ietf.org>; Wed, 10 Oct 2018 19:23:39 -0700 (PDT)
Received: by mail-lf1-x130.google.com with SMTP id z144-v6so5472665lff.13 for <netmod@ietf.org>; Wed, 10 Oct 2018 19:23:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=d8jVqr2xV+AavpVVpww6gYG4oLyCYfgyfDjSHH49gtk=; b=hqA2inJUI3vNqOVdo9eJajrR8OQDs/p3ZalG/f2/raSiHsVgSAbD96gGv4deq+biy4 UKOBZH1S2EYx8IhjkH7wnBA7EgX6Poo5qeRipiYKudJlQhnSYnXvKBid7hnP8jejfgfp UfuOQQB2FVVXYVeNDDCfZh64DuveYJjvRFNMJZt69L2zSMlyfzLPHm2NF8eQcNr+YZvX /O06KhvTCEhAtl8p50O4cKRwA4ZqtHc3ej/61mMT0pDDcHJ7zy+dkkkzb86ctcdm+bvg wCOEVCzE+U0uuJDzuKX+4XhAUSX3fAvwPm586j+dOo0VFFl9V+KX6fZJkYpI3k8X8LPu 4sbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=d8jVqr2xV+AavpVVpww6gYG4oLyCYfgyfDjSHH49gtk=; b=A/sEvMDqRxCTB/d5D4g0jGj/qSZCWp2FyIcFWzhVCQIMvg4URvN1MZbQfUUkEvVTZS PluQPWq+hCegjWpJpLhTjDX1l8YEDtsD/5llBZmpnqGd5AI5Qblt/6cWreIA3vgVnFaC r2h/VCBlLfCHCcteXc34Nd7GfJD9zb388nrYWMTWLA4ceTbjUf3H1GiMpW7h05u7RDwg ZWQnDXkmrIiepxRJ59Hw9Vci4tzMjQddfNDwK1ECT6Gv4zatQJvYhVy5+LG2FU5/wL4i a8eJh1OQzC9e7kTZJb1FFQs7ONvFcuYCbdN7CzxrviUTFcvHDhSVBwApbUv03+D7j7bJ cdfg==
X-Gm-Message-State: ABuFfoj6InN026puhTLumpbrWkS8BhQX/sbJ58/GanhZuZvGV8AUD8PP yH8pHnTiOWoVZg1D4G/pM8SA8bLPxIP+DoVQ7Tee1g==
X-Google-Smtp-Source: ACcGV61a17vgYQhF4TzuYsFu/aA0K4R5NF6Ylj3FB50AopqE3pWDqnM8LY/TI032wClBCYvo7frWpqZPIpue2LrNqJw=
X-Received: by 2002:a19:1643:: with SMTP id m64-v6mr2253825lfi.82.1539224617287; Wed, 10 Oct 2018 19:23:37 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:f811:0:0:0:0:0 with HTTP; Wed, 10 Oct 2018 19:23:36 -0700 (PDT)
In-Reply-To: <3B614CF4-9545-4C31-BEF4-CDFBF72AA045@cisco.com>
References: <20181010.131610.1510095762179710072.mbj@tail-f.com> <8736tevut6.fsf@nic.cz> <20181010.155915.278994099457235212.mbj@tail-f.com> <3B614CF4-9545-4C31-BEF4-CDFBF72AA045@cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 10 Oct 2018 19:23:36 -0700
Message-ID: <CABCOCHT32pSP3raNj6pP3BY9ji4DnOoOAaKVY7QyfV4tqqp9KA@mail.gmail.com>
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, "lhotka@nic.cz" <lhotka@nic.cz>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000008b15dc0577eaa899"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/6b7ZRpiEnr5ZsMWClK-FHGSnoUo>
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 02:23:50 -0000

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.


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