Lada, Martin, Thanks for your suggestion and thanks Tom for having raised this issue to Netmod WG
We have tried to follow your suggestion and replaced the relative paths with: when "ancestor::nw:network/nw:network-types/tet:te-topology" You can find the updated YANG module on github: https://github.com/ietf-ccamp-wg/draft-ietf-ccamp-flexigrid-yang/tree/wg-lc-resolution However, we have found some issues when compiling the new code with yanglint. This is the error that we have got from the on-line YANG validator: libyang err : Invalid character 'a'[1] of expression 'ancestor::nw:network/nw:network-types/tet:te-topology/flexgt:flexi-grid-topology'. (/ietf-flexi-grid-topology:{augment='/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:underlay/tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology'}) YANGLINT[E]: Processing schema module from /var/yang/tmp/yangvalidator/yangvalidator-v2-workdir-tNQJZOjI/ietf-flexi-grid-topology.yang failed. Is this an issue with yanglint or with the updated code? Pyang compilation does not return any error/warning Thanks in advance Aihua, Sergio and Italo > -----Original Message----- > From: Ladislav Lhotka [mailto:ladislav.lho...@nic.cz] > Sent: domenica 2 gennaio 2022 10:58 > To: Martin Björklund <mbj+i...@4668.se> > Cc: c...@tzi.org; netmod@ietf.org > Subject: Re: [netmod] YANG 'when' with absolute path > > > > On 02. 01. 22 10:43, Martin Björklund wrote: > > Hi, > > > > Ladislav Lhotka <ladislav.lho...@nic.cz<mailto:ladislav.lho...@nic.cz>> > > wrote: > >> Carsten Bormann <c...@tzi.org<mailto:c...@tzi.org>> writes: > >> > >>> On 2021-12-30, at 13:29, tom petch > >>> <ie...@btconnect.com<mailto:ie...@btconnect.com>> wrote: > >>>> > >>>> when "../../../../../../nw:network-types/tet:te-topology/“ > >>> > >>> I’m probably showing my ignorance about YANG again, but what is the > >>> reason this is not phrased as > >>> > >>> when "./ancestor::nw:network-types/tet:te-topology/“ > >> > >> Yes, this would work, with a minor correction: > >> > >> when "./ancestor::node()/nw:network-types/tet:te-topology" > >> > >> because 'nw:network-types' isn't an ancestor of the context node. > >> Also, the initial './' isn't actually needed, hence > >> > >> when "ancestor::node()/nw:network-types/tet:te-topology" > > > > Or the more direct: > > > > when "ancestor::nw:network/nw:network-types/tet:te-topology" > > Right, this is the best option. > > > > > This style works if we can guarantee that there will be exactly one > > node "nw:network" among our ancestors. > > > > It is perhaps easier to get this style right w/o a YANG compiler > > (which would detect if the number of ".." in the relative path is > > wrong), but the relative path might be easier to understand for a > > casual reader. > > +1 > > Lada > > > > > > > > > /martin > > > > > > > >> > >> Lada > >> > >>> > >>> ? > >>> > >>> Grüße, Carsten > >>> > >>> _______________________________________________ > >>> netmod mailing list > >>> netmod@ietf.org<mailto:netmod@ietf.org> > >>> https://www.ietf.org/mailman/listinfo/netmod > >> > >> -- > >> Ladislav Lhotka > >> Head, CZ.NIC Labs > >> PGP Key ID: 0xB8F92B08A9F76C67 > >> > >> _______________________________________________ > >> netmod mailing list > >> netmod@ietf.org<mailto:netmod@ietf.org> > >> https://www.ietf.org/mailman/listinfo/netmod > > -- > Ladislav Lhotka > Head, CZ.NIC Labs > PGP Key ID: 0xB8F92B08A9F76C67 >
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod