Re: [netmod] xpath for must statements

Martin Bjorklund <mbj@tail-f.com> Wed, 08 August 2018 07:41 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 C09AC130DD1 for <netmod@ietfa.amsl.com>; Wed, 8 Aug 2018 00:41:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 tGI0Xoia5WmJ for <netmod@ietfa.amsl.com>; Wed, 8 Aug 2018 00:41:25 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 50300126CB6 for <netmod@ietf.org>; Wed, 8 Aug 2018 00:41:25 -0700 (PDT)
Received: from localhost (h-80-27.A165.priv.bahnhof.se [212.85.80.27]) by mail.tail-f.com (Postfix) with ESMTPSA id 9227A1AE018A; Wed, 8 Aug 2018 09:41:24 +0200 (CEST)
Date: Wed, 08 Aug 2018 09:41:24 +0200
Message-Id: <20180808.094124.1561349700462768151.mbj@tail-f.com>
To: william.ivory@intl.att.com
Cc: acee=40cisco.com@dmarc.ietf.org, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <E3378E0605547F4E854DEE0CB1116AB03A8B5C@gbcdcmbx03.intl.att.com>
References: <3FBE6E06-3C42-4CFE-9A4C-FAC55572901C@cisco.com> <E3378E0605547F4E854DEE0CB1116AB03A8B5C@gbcdcmbx03.intl.att.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/OGHuGbPmbi9MoT_E1wfCut0_X_M>
Subject: Re: [netmod] xpath for must statements
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.27
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: Wed, 08 Aug 2018 07:41:27 -0000

Hi,

"Ivory, William" <william.ivory@intl.att.com> wrote:
> On 07/08/18 23:01, Acee Lindem (acee) wrote:
> Is it possible to indicate that choice statement must be specified in a YANG 1.1 “must” clause w/o specifying every case? Similarly, it is there a way specify that a container cannot be empty in “must” clause?
> Thanks,
> Acee
> 
> For the second, just check the container has children:
> 
>     must "<path_to_container>/*";

Note that if the container has an NP-container as a child, this
expression will always return true (even if that NP-container is
empty), since NP-containers exists in XPath evaluations (see 6.4.1 in
RFC 7950).

If there are no NP-containers the expression works -- except that it
doesn't work if someone augments an NP-container into this container.


/martin


> 
> Regards,
> 
> William
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>