Jan Lindblad <j...@tail-f.com> writes: > Italo, > > While I agree that tools are easier to update than WG documents, and that a > broken yanglint isn't a strong reason to avoid the proposed axis construct, I > do think it will have a cost. In current YANG practice, XML axis constructs > are esoteric, and many implementations will either not support it, or have > not been tested properly in this area before. Many engineers will never have > seen this before, and might stumble. > > Bottom line, this is valid YANG, and it is supposed to work. For many people > it will definitely be less readable than a relative path. I expect choosing > the axis solution will slow the uptake of this module.
I disagree. Tools should faithfully implement the standard, and especially those that are used as "authoritative" in RFC validation process. I don't see how axes could be considered esoteric - in fact, they are very fundamental in XPath and things like '..' or '//' are just syntactic sugar for axes contructs. Lada > > Best Regards, > /Jan > > >> On 28 Jan 2022, at 12:12, Italo Busi >> <Italo.Busi=40huawei....@dmarc.ietf.org> wrote: >> >> Thanks Michal for the clarification >> >> We have discussed this issue among the co-authors of >> draft-ietf-ccamp-flexigrid-yang and we are not sure about how to address a >> WG LC comment we have received on this topic >> >> While the YANG code using the ancestor instead of relative paths looks >> easier to read and understand to an human code writer/reader, we are >> concerned about whether it is worthwhile standardizing in IETF a YANG data >> model which fails compilation with yanglint >> >> The YANG code is correct (at least it passes pyang validation) but it fails >> yanglint validation just because yanglint does not support axes, so we >> expect that as soon as we upload the updated draft, the IETF datatracker >> will signal yang validation errors >> >> Is there any guideline/suggestion from Netmod WG and YANG doctors on how to >> deal with such a case? >> >> Thanks, Italo (on behalf of co-authors) >> >>> -----Original Message----- >>> From: Michal Vaško [mailto:mva...@cesnet.cz <mailto:mva...@cesnet.cz>] >>> Sent: martedì 18 gennaio 2022 08:07 >>> To: Italo Busi <italo.b...@huawei.com <mailto:italo.b...@huawei.com>> >>> Cc: Ladislav Lhotka <ladislav.lho...@nic.cz >>> <mailto:ladislav.lho...@nic.cz>>; Martin Björklund >>> <mbj+i...@4668.se <mailto:mbj+i...@4668.se>>; netmod@ietf.org >>> <mailto:netmod@ietf.org> >>> Subject: Re: [netmod] YANG 'when' with absolute path >>> >>> Hi, >>> >>> yanglint uses its own XPath implementation, which unfortunately does not >>> support axes, hence the error. >>> >>> Regards, >>> Michal >>> >>> On Monday, January 17, 2022 16:59 CET, Italo Busi >>> <Italo.Busi=40huawei....@dmarc.ietf.org> wrote: >>> >>>> 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 >>>>> >>>> >>>> >> _______________________________________________ >> yang-doctors mailing list >> yang-doct...@ietf.org <mailto:yang-doct...@ietf.org> >> https://www.ietf.org/mailman/listinfo/yang-doctors >> <https://www.ietf.org/mailman/listinfo/yang-doctors> > _______________________________________________ > netmod mailing list > 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