Hi Radek,
> On 8 Nov 2016, at 13:51, Radek Krejčí <[email protected]> wrote:
>
> Hi,
> I have the following 3 modules and only the module c is initially
> implemented. Because the module a is targeted in c's augment, a must be
> also implemented. Since the b is not targeted in any augment nor
> leafref, it need not be implemented.
>
> In such a case (a, c are implemented; b is imported), is the module c
> valid? It refers leaf b in the must expression, but the target leaf does
My take is that module c is valid, but leaf c cannot be present in the data
because its "must" expression is always false. A clever tool might issue a
warning.
> not exists (module b is not implemented, so it does not augments data in
> module a). Is there any way how the module c could specify that the
> imported module b must be also implemented?
Unfortunately, no. Andy's expired draft-bierman-netmod-yang-package-00 aimed at
this.
Lada
>
> module a {
> ...
> container a {
> leaf a {
> type string;
> }
> }
> }
>
> module b {
> ...
> import a {
> prefix a;
> }
>
> augment /a:a {
> leaf b {
> type string;
> }
> }
> }
>
> module c {
> ...
> import a {
> prefix a;
> }
> import b {
> prefix b;
> }
>
> augment /a:a {
> leaf c {
> type string;
> must "/a:a/b:b";
> }
> }
> }
>
> Regards,
> Radek Krejci
>
> _______________________________________________
> netmod mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/netmod
--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod