Re: [yang-doctors] YANG must statement constraints

"Acee Lindem (acee)" <acee@cisco.com> Mon, 22 March 2021 13:44 UTC

Return-Path: <acee@cisco.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C6A443A150F for <yang-doctors@ietfa.amsl.com>; Mon, 22 Mar 2021 06:44:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.698
X-Spam-Level:
X-Spam-Status: No, score=-7.698 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_NONE=0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=efU2njap; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=CMlDdvhZ
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 EAnhlyelkU8b for <yang-doctors@ietfa.amsl.com>; Mon, 22 Mar 2021 06:44:49 -0700 (PDT)
Received: from rcdn-iport-8.cisco.com (rcdn-iport-8.cisco.com [173.37.86.79]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 739183A1516 for <yang-doctors@ietf.org>; Mon, 22 Mar 2021 06:44:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3666; q=dns/txt; s=iport; t=1616420689; x=1617630289; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=zhsRY71d/ZhjvaQDvM1jQEF1RO9caISRWXe4eFifwhU=; b=efU2njapbSJK+Hn+gy25efyNfFLWX0ePTL6CGAr5rKYAOZ4BUg4sL5XD PRjnksOXTYxRQWhneq/srTW7QOIxRSAUfe3X7SH+xXhKigxxRHlNisvxM WUm+s40HvTS9ehZW7ppnSdylb3h/x73ItlC5sfEIzE+6EAC9jkJUrczXX E=;
IronPort-PHdr: =?us-ascii?q?A9a23=3A8jIuXRz14LCbEDfXCzMzngc9DhMPsqjoPgMT9?= =?us-ascii?q?pssgq5PdaLm5Zn5IUjD/p1Fil7CG47JuLpIiOvT5qbnX2FIoZOMq2sLf5EEU?= =?us-ascii?q?RgZwd4XkAotDI/gawX7IffmYjZ8EJFEU1lorHe6Og5eCpW2a1jbuHbn6zkUF?= =?us-ascii?q?132PhZ0IeKgHInUgoy32um+9oeVbR9PgW+2YKh5K1O9qgCC3vQ=3D?=
IronPort-HdrOrdr: =?us-ascii?q?A9a23=3ACHcQ863bDdeNMbUwQwypHAqjBat2eYIsi2?= =?us-ascii?q?QD101hICF9Wvez0+izgfUW0gL1gj4NWHcm3euNIrWEXGm0z/9IyKErF/OHUB?= =?us-ascii?q?P9sGWlaLtj44zr3iH6F0TFmNJ1/ZxLN5JzANiYNzdHpO7x6gWgDpIEyN6I7K?= =?us-ascii?q?iniY7lvgtQZCttbLxt6Bo8KivzKDw2eCBtA50lGJ2Aou9OoDS9cXoaB/7LeU?= =?us-ascii?q?Utde7FutHNidbaehYAHREq802jijmv5b78HXGjr1cjehlIxqov9nWArhzh6s?= =?us-ascii?q?yYwr+G4zL/90uW1ZRZn9P91sBObfbttuE5Iijh4zzYHLhJdKaFuFkO0YSSwX?= =?us-ascii?q?Ys1OLBuhIxe/l0gkmhA12dhTvI903e3C0163nkoGXowkfLhcDiXjo1B45gqO?= =?us-ascii?q?tiA2DkwnEttt19z65Htljx3/E8YH+w/1We2/HyWx5njUayq3Y5+NRj9UB3a5?= =?us-ascii?q?cUa7NasOUkjSRoOaoABy7z5cQGF+RjHajnlY9rWG6adHzQsy1TxsWtVB0Ib3?= =?us-ascii?q?G7a3UF0/bltwR+rTRc9Q811cYflnAP+NYWUJ9f/dnJNaxuifVnUtIWRbgVPp?= =?us-ascii?q?ZCfeKHTkj2BT7cOmObJlrqUIsdPWjWlpLx6LIpoMm3ZZ0zyocokpipaiIciU?= =?us-ascii?q?cCP2bVTeGe1pxC9R7ABE+nWy72981Y759l/prxWaTsKi/GbFw1icOvr7E+D6?= =?us-ascii?q?TgKrKOEaMTJ8WmAXrlGI5P0QG7cYJVM2MiXMocvct+VEmJps7NN432pu3WeP?= =?us-ascii?q?veP9PWYHAZc1K6JkFGcCn4Jc1G4EzucGT/mgLtV3TkfVG6/Z8YKtmCw8EjjK?= =?us-ascii?q?w2cqFcuAkcjlq0ouuRLydZj6AwdExiZLfukqaxo3iq7X/Fhl8ZYiZ1PwJw2v?= =?us-ascii?q?HNQnlKrQgFPwffarAYoeiSfmhUwT+APR9wT8TfFQZFvFRp8aerL5idrBpSTO?= =?us-ascii?q?6PAya/tT8+tXiKR5ATlumo/sH+YK41CZ4gRehsDwnRDgd0ngxrsW9HbwcBSi?= =?us-ascii?q?bkZ2jToJTgqKZRKPDUdtF6jgvuHNVdrmjHs16A4es1QGEAYjKoWcmLoAonSj?= =?us-ascii?q?ZOnGdt+6sHjLfoo0f0FUIPxMADdHxFciC+Ha9PBgXtXvQrppnbPCVLCVqsqR?= =?us-ascii?q?PfoRcpYWbu/1gVnQXaXFypUMCOJEFctHBe2rvt63VueAymDh9NQ0E/l5FhHm?= =?us-ascii?q?LbvXs29umHasOIojSsQ2pH5P0BOzfYZjZXGCdS/pSc0R6YnyvqLwR7+rwnIv?= =?us-ascii?q?HdALM/c7vax3OqL8mSmbsbGuJPlawVR+zGrvUGSqaWdQOTMVrDepMU8h3QqX?= =?us-ascii?q?A/NCZurn441fvuxR3+9WC9mGUyGPzIPT1dNvwmCsDZ62jvXPCT1pplydozoO?= =?us-ascii?q?urK230A+T2gp3/fnpGKhnJp3SxQPxtoZdIvbgqvL82G5XASzPH2DVG2xo5Rf?= =?us-ascii?q?2E3n82UeB+4LrbPJVocNFXcyVF/kAxnNDKNVA1qGXNc5kDVEBoi2WeM8KC4r?= =?us-ascii?q?LOp7ZqCkqdpBHoMV3a9yFG5f/KUyaKyLZyMdN9HU1GLEwnrHhy9uKLcIPdTB?= =?us-ascii?q?+ncOxO51K2OH6wer01ctnMJZwA6hJhp92Yle6ecCT1nB3KtTxgO6RU7iKpR9?= =?us-ascii?q?ixDA/kI58Gz/WqfVCXxq2k7864gG2pFX+1a0EEiZZEckJVZMJZkTUmhJA21C?= =?us-ascii?q?/3SqGfmDNQr3JOpTV80ljq0cy65W2eG0dMOwjQmI9XUjleKWLgt7WNzcGIkH?= =?us-ascii?q?DmpCFY0pzCHlpKdt5AG9IMXpH6Rh0eXPQ4rfqt5e4zmSxNbxclEn4khD381+?= =?us-ascii?q?1g262l2P+6YZyUNV74fVQb+TBEAYZonisk7WFYGvLOn66AXg=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AFCgA1nlhg/40NJK1aHgEBCxIMQIM?= =?us-ascii?q?jUQd2WjYxCoQ4g0gDhTmIQ5k1glMDVAsBAQENAQEdCwoCBAEBhFACF4FmAiU?= =?us-ascii?q?4EwIDAQELAQEFAQEBAgEGBHGFYQ2GRAEBAQMBAQEhEQwBASwMDwIBCBgCAiY?= =?us-ascii?q?CAgIlCxUQAgQBEoJwAYJVAw4hAQ6hUwKKHneBMoMEAQEGgkyCSRiCEwMGgQ8?= =?us-ascii?q?qgnaECYZEJhyCC4E4HIJZPoJgAQGBXheCfzWCCSKEBVuBKUeUIpRJkEWBFAq?= =?us-ascii?q?DBpxaAx+kP4ZnjhqieQICAgIEBQIOAQEGgWsjgVlwFTsqAYI+UBcCDYhJhVa?= =?us-ascii?q?Db4UUhUVzOAIGAQkBAQMJfI1QAYEOAQE?=
X-IronPort-AV: E=Sophos;i="5.81,269,1610409600"; d="scan'208";a="874904227"
Received: from alln-core-8.cisco.com ([173.36.13.141]) by rcdn-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 22 Mar 2021 13:44:48 +0000
Received: from mail.cisco.com (xbe-aln-003.cisco.com [173.36.7.18]) by alln-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id 12MDimSD024509 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Mon, 22 Mar 2021 13:44:48 GMT
Received: from xfe-rcd-002.cisco.com (173.37.227.250) by xbe-aln-003.cisco.com (173.36.7.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.3; Mon, 22 Mar 2021 08:44:48 -0500
Received: from xhs-rtp-003.cisco.com (64.101.210.230) by xfe-rcd-002.cisco.com (173.37.227.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.3; Mon, 22 Mar 2021 08:44:47 -0500
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-003.cisco.com (64.101.210.230) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 22 Mar 2021 09:44:47 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gGZUDGdqJhGlcIAkkyz9wZj7mvUJYL/WDSTbnVKnyHsPsRPsQbpxOjJvkSrRqf9sGjYmn2nbU9I4dI2IYv/heLEEmuA4dxmn1Wqmx6BLzqtPzX0XkIBlnIIUM3nkvq5q5h7HGfNUBBAShYH6xrdOZ7IZb7yzacjEb1kXHBs9LWogMZqZQl8GIx3GwbX453lJn1Vdb/xdmMhv93dqpBuZNLA1zpJnX1SUeIO6R06p3SYQ4EP3WDR81GNTe2rhg2AcyMtydpDOTAzgeguvINj1QVyBWy1Gh0WZFxctC5cdSiFtEhpNCL3VIctBmjqkb5Kzotx2QsbSOlxtKwdlsN3mkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zhsRY71d/ZhjvaQDvM1jQEF1RO9caISRWXe4eFifwhU=; b=NB0gVKdWlHzghvtgZbG47zDHeYepfMB42YPOAMbP4DvD+jfS6hPsTdb0dlt4tXVVi0VwUViRIwG+R7LRwglpn16NDYJ30atOsMEmZXFNalDctGRULxx47XDWrjLXGUm7gOO4I0KhNkFnBwTe9ya2u2nCumn9yqIwml0tJO4IZZi9S5rU2LWDra/hBnN3JvucfyquzM0lQyiP74M/uQa/1XiuLR/lsVXeDtBrkSKiUtysLqpSiFRQVmW+9fpCxKM51Nc7duOPVLJQot71Cc+Qo4VzR75azrz48wgmLJUiB2O/YhPV60e9HWZQUcO6SgsYpOS9LHzDShqH6g/ZG/K82g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zhsRY71d/ZhjvaQDvM1jQEF1RO9caISRWXe4eFifwhU=; b=CMlDdvhZGpLAsBWkwTOP/rIPI21DvBFX+oAOfUdFCXvb6rxuzTqg5Uj+9KhnAWjBETjOaZkFmKwnRRF6ZMF9IJ2obNttk+ZGEqLHa6OAQd/NMymOg5FFvdv3Pn9X7oogv8QkrVNufkkthbEgv0sxbX2NkPYOmmrRjcQLQ20AimQ=
Received: from BYAPR11MB2887.namprd11.prod.outlook.com (2603:10b6:a03:89::27) by SJ0PR11MB4973.namprd11.prod.outlook.com (2603:10b6:a03:2de::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3955.18; Mon, 22 Mar 2021 13:44:46 +0000
Received: from BYAPR11MB2887.namprd11.prod.outlook.com ([fe80::f82f:ff98:d282:d5e5]) by BYAPR11MB2887.namprd11.prod.outlook.com ([fe80::f82f:ff98:d282:d5e5%5]) with mapi id 15.20.3955.025; Mon, 22 Mar 2021 13:44:46 +0000
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Ladislav Lhotka <ladislav.lhotka@nic.cz>, YANG Doctors <yang-doctors@ietf.org>
Thread-Topic: [yang-doctors] YANG must statement constraints
Thread-Index: AQHXHMu0sX77o7RFsEWNIUm7ny8yYKqLadOA//+/lYCAAEkaAIAEU9yA
Date: Mon, 22 Mar 2021 13:44:46 +0000
Message-ID: <F5E3037B-55D8-480D-9B21-FEAA2E3CF9F0@cisco.com>
References: <27FBDC6F-0D23-4D18-9764-42E4F1826952@cisco.com> <4c68b8ea-dad7-5097-7b31-09045463da5d@nic.cz> <0CAB260B-C636-440C-913C-234EECC3DA7D@cisco.com> <104c7fed-ff01-2e66-6da3-b56bbfc87176@nic.cz>
In-Reply-To: <104c7fed-ff01-2e66-6da3-b56bbfc87176@nic.cz>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.46.21021202
authentication-results: nic.cz; dkim=none (message not signed) header.d=none;nic.cz; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [136.56.133.70]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 30b43a3d-a71a-4e8e-339e-08d8ed38a7ce
x-ms-traffictypediagnostic: SJ0PR11MB4973:
x-microsoft-antispam-prvs: <SJ0PR11MB49731A243701841715583C73C2659@SJ0PR11MB4973.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: BTMYHdU90YjMQgr+O0i/Yulq/ZdhQUahvu9jYHqyUDh+JjINF6NRJurt1N9QQkx94s2IOvXzkRmiLAa83bpJMbCmGaalXNBjFfVdn3K76pN6KOA74iYZUSBTo2dnKa2GJUsoXo9S9Oio/R1Q3u+vv//ba6AzlNtAW6ChUWuuRq1eIGv6SCm/0W2ZO8XIAhMZ4CTEa1EMW+xMWU2Q0YuakKzPUeD5M99qA5uNRDqYmWByjJNSpmrZyUHONdoP4fGNgZ/8G8AgJhKtn1PQxLdeBaVOSABj0hajpa7JICMvnDnuYmyy4wwZWOVo91pRymp9q9jJmcTeyIfZjXr7IFNoAltOexNC+dbBhuNh0p06R58sJdZwBF+b6cN4CKLkCofQK0cCInHfPgR0C8re65yODjV6ZFRmARyknfLitIiiKslHn70qfgfw9CNHNURyhDk1AZm2S0hHb5w5dbLlegdOi/4RgWKFnLV7CmZl/RsBESI2zf0vUyvuLApjoyEo2iklZhkcZhesBf0r6LvSLz9ygiEVz8R/NMcSVftfyLgKXz9HDK1bhuZ6OeuvMgXLCENBccDmrhi+gY5EaFqljO8YuVKiC4EZAZ0RggQhsnjC/h5L/aF40ev26pbMsgUbFSeAGOHANLg0/hVtcY0NAQSSsXtuA+oHjNLK0oDIFRBNk6HkAMSfA4viV5y0X8qWeU6XEF+Jn57iO2NVuaZWWyi5uUzFxi/MJdoplzHF1Ral8Q8drj9zj8qd1Ra3LXKyl27UL/FFkEmDD8NnHUt+Dv8W5w==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2887.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(396003)(376002)(366004)(136003)(39860400002)(8676002)(5660300002)(36756003)(186003)(8936002)(38100700001)(6512007)(26005)(2616005)(66946007)(66556008)(6486002)(2906002)(66446008)(83380400001)(64756008)(66476007)(478600001)(53546011)(6506007)(71200400001)(966005)(76116006)(91956017)(86362001)(33656002)(110136005)(316002)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: =?utf-8?B?dUNic043NEZJN2tGbzFTaXBCMFpKMldFaW5PY3JQN0dzUnArdEpuTktSU3NJ?= =?utf-8?B?Q2Rxc09LaG1zVnVzWHF2WnJ4V0N4NmdIM082bXo5RTFtVDU3aEptM0xRaVhm?= =?utf-8?B?T2xSaWYzUXc5bFBobzRPK2gybUpXcnVyUXZxeVlNdk9tZGNkNnZlc3pNczNV?= =?utf-8?B?TWVmR253UkNTb044b05KTzZKeGI0aGs2RHlUUS9uZTZ2WWlNcEExWUxFbXhU?= =?utf-8?B?c0x3a25WM3ZuTGxER1ZTNUhHMGVYMXc4dWpKZVlucnVlWTRpWEVmOHRmOVJ4?= =?utf-8?B?ZWJKWVBPYzhzbUhOc2djdEZ2cUhKUGV1d29TWGRtVW43Y3loL3lmTjlicHEw?= =?utf-8?B?SUZCUHZacUJqSEhLeCs5ekxNQk05YUp0YU5aelJ6TGJmUnZBOUtmTTBFVmRH?= =?utf-8?B?UE1DMEozWlhXMEZBOFJnZ3VpQWtjM1NJU2tVWXpISHlsZzdSRjJuc01wcnZQ?= =?utf-8?B?S1lsM3ZaTnhZWFVvR2JoN0lGZEpBSnUxaS9HQnpHQWgycGQwTksrZmRCUXZj?= =?utf-8?B?dVVrejNRZUZKS2hqWnpCSWg2bDZiV2lhOHRiWldmc2lHRGZBcmtRcWY1S0ph?= =?utf-8?B?dkpWWXpOZFFPcTZ6U1VBZE93aVBNdzl6bjAvc2hmaDhaYU05RHF2cTQySGRa?= =?utf-8?B?a0EzTEVxbkh2bU9acjBJLzlMRklJTEkxYUVveVRyR0N5OUF6dzd1cXlOM3g3?= =?utf-8?B?UTF6Ulk4QTFub2VmN3hWZ0I3c0hnbVFGUXZ4bWt0YzJBTHIzMlRLQUkvR3JI?= =?utf-8?B?VXVtR09SSUc5RWl2NWVhcWkzVTFwVGlTd2lRT2RDNWpKS0UyM1g2eTcyM0ty?= =?utf-8?B?aE5xa0JQUjNZNy9CNEV5c1RWTjREQlY0b3dUV0NuRUgrWks1QTJtT0JWU2hU?= =?utf-8?B?RTFUWVQ4Z2FEOURpVk5GWHY3cHo2SnRobEFYVi9KbE1Bam9vWnlQZERhSVBt?= =?utf-8?B?NEJvWUpOTEt0MDB1Mml1SmIvZ0I3LzdEdU5hb1AzL2JxYmZGNG1FMFI2MmZs?= =?utf-8?B?RkJUdVoxUS9IT0dJN0JmVnNrc3d5RHBMT3h6bjlIRGk2ckZpS21tR0RKVkN0?= =?utf-8?B?L3FTWEY3cFNCeGdBeUtsMktJdGpxbndyRGF5ck9TU2RnSXdaYStVVS82cFc2?= =?utf-8?B?cmhNZmloNklWdTZHd1FTVjlvYVRpME5qeC9WTzU3VThuWkhBYlYrL2lKL2F1?= =?utf-8?B?bGpRaVVSS1owRXdWWC81MVlhWFFKU2hBWkIzY0dSMzlQelJ4RnVUTFJuMFpV?= =?utf-8?B?Um0wbXF2eENBWHY0dUJCWXNNMDFFaXJRVDRkUVVCaGc5UkMyTytMZ2xnenhp?= =?utf-8?B?UWluQy85VTl2bFZNMXFDMUxzQnB6WjhXeHBjWWhyS1gvU0JuNzI2MysycW9n?= =?utf-8?B?S1FHRFJmZTBTdmZLcEJ1ekJDUzhIWU5zL3R3aURFYk10cEQ1VkV1bGlwclo3?= =?utf-8?B?MFNhdTlpdW1xSDgxTTRVZmZXdlJqMkF0SUhQQ1pvaGEzK1ZsL0xBb2tNQndE?= =?utf-8?B?YkhnZjVZZldidWg1MjVSRitoVWpEcE1aajl1dDJRejkxVTd5ME5ObEE5cjRo?= =?utf-8?B?am1DUDArV2hQZFRxdnVPZDZoOXRScGhPU2FqZWloTmpyZ1hGdk9MOXhjZC9L?= =?utf-8?B?SzdGcDNTaG1VdFBWRDUzTzB5MzMrbmIvbEg0MS9OeVhjN0dVM3VpdEkxejE1?= =?utf-8?B?SmZsWDFQMmZEMTA0aURlc1FJbVFvTU15ZzRhNnNXVFRhUXVlZnF3d1RjamJS?= =?utf-8?Q?KirZobCFwfNmkgp4xWBgWcEeXj63+i9Fx+vpclX?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <A80B2C3FBFBF444C935755082F4683D0@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2887.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30b43a3d-a71a-4e8e-339e-08d8ed38a7ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2021 13:44:46.1275 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hok3H9erVNk5fi6emYT9HX/Owm49GXclU5Vm5XtENABotaEIJU4KMoE+piv+fHZz
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4973
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.18, xbe-aln-003.cisco.com
X-Outbound-Node: alln-core-8.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/_-5Fw_2oMX0_zyLiRrWoKeBTa-c>
Subject: Re: [yang-doctors] YANG must statement constraints
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Mar 2021 13:44:54 -0000

Hi Lada, at 

One more thing to confirm (at least for now). A predicate for a list can reference non-key items in that list - right? For example:

       list foo {
              key "key";
              string key;
              string non-key;
       }

This is still valid - correct? 

    /some/xpath/foo[non-key="acee"]


Thanks,
Acee


On 3/19/21, 11:40 AM, "Ladislav Lhotka" <ladislav.lhotka@nic.cz> wrote:

    On 19. 03. 21 16:17, Acee Lindem (acee) wrote:
    > Hi Lada, 
    > 
    > I guess the corollary would be that: 
    > 
    >    must "list/non-key-leaf != 42";
    > 
    > Is satisfied if there is at least one list entry with a non-key-leaf other than 42.

    Yes.

    > 
    > And,
    > 
    >      must not("list/non-key-leaf = 42)";
    > 
    > Requires all leaf entries to have non-key-leaf not equal to 42.

    Yes.

    > 
    > What if non-key-leaf is optional and not specified? Would this be equivalent to "!= 42" in the constraint evaluation?

    This is another tricky point of XPath. Either of the conditions "= 42"
    and "!= 42" is satisfied only if an instance exists and satisfies the
    condition. In other words, if no instance exists, then neither of the
    two conditions is true.

    Lada

    > 
    > Thanks much, 
    > Acee
    > 
    > On 3/19/21, 11:08 AM, "Ladislav Lhotka" <ladislav.lhotka@nic.cz> wrote:
    > 
    >     Hi Acee,
    > 
    >     On 19. 03. 21 15:25, Acee Lindem (acee) wrote:
    >     > When the constraint references a non-key leaf in a list, do all members
    >     > of the list have to satisfy the constraint or only one of the list entries?
    > 
    >     It depends on how the constraint is written.
    > 
    >     If you have e.g.
    > 
    >         must "list/non-key-leaf = 42";
    > 
    >     then it is sufficient that at least one instance on non-key-leaf exist
    >     with that value. In contrast,
    > 
    >         must "not(list/non-key-leaf != 42)";
    > 
    >     requires all instances to have that value.
    > 
    >     Lada
    > 
    >     > 
    >     >  
    >     > 
    >     > Thanks,
    >     > Acee
    >     > 
    >     > 
    >     > _______________________________________________
    >     > yang-doctors mailing list
    >     > yang-doctors@ietf.org
    >     > https://www.ietf.org/mailman/listinfo/yang-doctors
    >     > 
    > 
    >     -- 
    >     Ladislav Lhotka
    >     Head, CZ.NIC Labs
    >     PGP Key ID: 0xB8F92B08A9F76C67
    > 

    -- 
    Ladislav Lhotka
    Head, CZ.NIC Labs
    PGP Key ID: 0xB8F92B08A9F76C67