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

Ladislav Lhotka <lhotka@nic.cz> Tue, 23 August 2016 10:28 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 CB60112B044 for <netmod@ietfa.amsl.com>; Tue, 23 Aug 2016 03:28:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.548
X-Spam-Level:
X-Spam-Status: No, score=-7.548 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.548] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 mXdie2aA-mnm for <netmod@ietfa.amsl.com>; Tue, 23 Aug 2016 03:28:26 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BDF8012D90C for <netmod@ietf.org>; Tue, 23 Aug 2016 03:28:24 -0700 (PDT)
Received: from [IPv6:2001:718:1a02:1:998e:ff6a:8065:9f67] (unknown [IPv6:2001:718:1a02:1:998e:ff6a:8065:9f67]) by mail.nic.cz (Postfix) with ESMTPSA id 2028D60B7D; Tue, 23 Aug 2016 12:28:23 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1471948103; bh=7PskThZ+wGWXsv8pNnAwXMcXws0xFTe2h3lhE0VwK44=; h=From:Date:To; b=rTON72Ss/gGCFq36MUIKwdk7xl76jW5u7GJduAFHR2egG58H64Ms0A1t2v81t72QT /bVGmp8gzcj378nm5JerPsH7TcNG90QrPdtL+vKe7dPYcZCGVnixMB7avpViM65GaN XL69qZLWgTML87CPhJRNVKgWjaw/NsxGBg8v1Ky0=
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <20160823082559.GC15044@elstar.local>
Date: Tue, 23 Aug 2016 12:28:23 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <78AC9EDF-19A4-4F84-8F0E-CD67DAB22554@nic.cz>
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> <20160823082559.GC15044@elstar.local>
To: Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
X-Mailer: Apple Mail (2.3124)
X-Virus-Scanned: clamav-milter 0.98.7 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/VCHOId7SZndUFr3aZKsdXiBXjzI>
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
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 10:28:28 -0000

> On 23 Aug 2016, at 10:25, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> 
> 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.

But only if the closest ancestor that is not an NP-container exists, or there is no such ancestor.

Lada

> 
> /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/>
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

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