Re: [netmod] [Netconf] What should a server response be? - depending on NP-containers

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 23 August 2016 08:26 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 6D4E312D886 for <netmod@ietfa.amsl.com>; Tue, 23 Aug 2016 01:26:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.748
X-Spam-Level:
X-Spam-Status: No, score=-4.748 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.548] 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 r5RqdiAK-WIw for <netmod@ietfa.amsl.com>; Tue, 23 Aug 2016 01:26:03 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 242C412D87C for <netmod@ietf.org>; Tue, 23 Aug 2016 01:26:03 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id EAF07A80; Tue, 23 Aug 2016 10:26:01 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.205]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id qUVh7mb69o4F; Tue, 23 Aug 2016 10:25:54 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Tue, 23 Aug 2016 10:26:00 +0200 (CEST)
Received: from localhost (demetrius1.jacobs-university.de [212.201.44.46]) by hermes.jacobs-university.de (Postfix) with ESMTP id CC37A200AC; Tue, 23 Aug 2016 10:26:00 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius1.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id i4Y6pwo-Bsw3; Tue, 23 Aug 2016 10:25:59 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 437AC200AB; Tue, 23 Aug 2016 10:25:59 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 2B82A3C2E3C9; Tue, 23 Aug 2016 10:25:59 +0200 (CEST)
Date: Tue, 23 Aug 2016 10:25:59 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Vladimir Vassilev <vladimir@transpacket.com>
Message-ID: <20160823082559.GC15044@elstar.local>
Mail-Followup-To: Vladimir Vassilev <vladimir@transpacket.com>, netmod@ietf.org
References: <57BB2169.9050100@transpacket.com> <20160822.184543.235535345519950294.mbj@tail-f.com> <57BB37FC.5000202@transpacket.com> <20160822.202715.1748199491210115278.mbj@tail-f.com> <57BB5554.2000400@transpacket.com> <1471903699434.77842@Aviatnet.com> <57BBF05A.7040006@transpacket.com> <20160823073348.GA15044@elstar.local> <57BC04E4.6090308@transpacket.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <57BC04E4.6090308@transpacket.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/QIWagxW-PrB4OAGe_IuxbryUBH8>
Cc: netmod@ietf.org
Subject: Re: [netmod] [Netconf] What should a server response be? - depending on NP-containers
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
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: Tue, 23 Aug 2016 08:26:04 -0000

On Tue, Aug 23, 2016 at 10:10:12AM +0200, Vladimir Vassilev wrote:
> On 08/23/2016 09:33 AM, Juergen Schoenwaelder wrote:
> > On Tue, Aug 23, 2016 at 08:42:34AM +0200, Vladimir Vassilev wrote:
> > > On 08/23/2016 12:08 AM, Alex Campbell wrote:
> > > > The intention in this case is obviously to evaluate the 'must' statement if
> > > > the container contains any values; what would break if we said that
> > > > 
> > > >      A non-presence container exists in the data tree if and only if it has
> > > >      any children which exist in the data tree.
> > > > 
> > > > thus disallowing the existence of empty NP-containers in the data tree?
> > > The question is where is the misunderstanding.
> > > 
> > >     "If a node that exists in the accessible tree has a non-presence
> > >     container as a child, then the non-presence container also exists in
> > >     the tree."
> > > 
> > > What does this mean? I believe there is confusion based on "the tree"
> > > refering not to the data tree but the Xpath context. At least I hoped until
> > > I realized the text was introduced as a solution to Y41 'clarification of
> > > "must" in NP-container'. That definitely means it addresses the must
> > > statements in the non-presence containers and it means "the tree" as in the
> > > data tree.
> > My reading is that 'tree' refers to the 'accessible tree' used earlier
> > in the sentence. The accessible tree itself is defined just above the
> > quoted sentence. If my reading of the text is correct, then the
> > obvious clarification would be:
> > 
> > OLD
> > 
> >     If a node that exists in the accessible tree has a non-presence
> >     container as a child, then the non-presence container also exists in
> >     the tree.
> > 
> > NEW
> > 
> >     If a node that exists in the accessible tree has a non-presence
> >     container as a child, then the non-presence container also exists in
> >     the accessible tree.
> > 
> > /js
> > 
> So should the must statements defined in the non-presence container which is
> now part of the accessible tree be evaluated or not?
>

I think we need to carefully dissect things in order to make
progress. The above text is about XPATH contexts and accessible
trees. It is not about what needs to be checked during
validation. This is defined in section 8 and in particular section
8.1.

   The following properties are true in a valid data tree:

   o  All "must" constraints MUST evaluate to "true".

This clearly talks about the data tree. The resolution of issue 42
says:

   2014-07-21 meeting proposal: Clarify that for validation purposes,
   NP containers always exist.

Putting these pieces together, it seems to me that for the purpose of
validation, an NP container is assumed to always exist in the data
tree and its MUST statement is evaluated.

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