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
> >
> 
>

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to