Hi Jason, yanglint does validate XML instance data for must statements:
MAHESH-M-M8D1:/Volumes/External/git/my-YANG-public/src/model/draft *833 > yanglint -t auto -s -i -p common .../../../build/mef-legato-servi...@2018-07-17.yang MEF6.2-bwp-per-uni-mef-interface-configuration.xml err : Must condition ". >= 1 and . <= count(../../bwp-flow/rank)" not satisfied. (/mef-legato-interfaces:mef-interfaces/carrier-ethernet/subscriber-interfaces/uni[uni-id='ciscoD21:GigabitEthernet0/0/0/1']/ingress-envelopes/envelope[id='ciscoD21-per-cos-env2']/bwp-flows/bwp-flow[rank='3']/rank) err : The rank of a Bandwidth Profile Flow must be between 1 and n, where n is the number of flows in the Envelope (/mef-legato-interfaces:mef-interfaces/carrier-ethernet/subscriber-interfaces/uni[uni-id='ciscoD21:GigabitEthernet0/0/0/1']/ingress-envelopes/envelope[id='ciscoD21-per-cos-env2']/bwp-flows/bwp-flow[rank='3']/rank) > On Jan 31, 2020, at 8:21 AM, Sterne, Jason (Nokia - CA/Ottawa) > <jason.ste...@nokia.com> wrote: > > Thx Lada. > > If I only have XML (e.g. from a NETCONF interface) I suppose I could use > yanglint, e.g. this type of usage: > yanglint --format=json --type=config --output=data.json > ./all-my-modules/*.yang ./data.xml > > Is that correct? > > I believe yanglint can also validate instance data against a YANG schema. Can > anyone confirm that yang2dsdl and yanglint do *not* validate against the > 'must' statements? > > Jason > >> -----Original Message----- >> From: netmod <netmod-boun...@ietf.org> On Behalf Of Ladislav Lhotka >> Sent: Friday, December 13, 2019 2:59 AM >> To: netmod@ietf.org >> Subject: Re: [netmod] validating instance data against YANG schema including >> 'must' statements >> >> On Thu, 2019-12-12 at 16:42 +0000, Sterne, Jason (Nokia - CA/Ottawa) wrote: >>> Hi all, >>> >>> A few years ago there were a few discussions on the list about tools to >>> validate instance data (e.g. the data returned by a <get-config>) against a >>> YANG model. >>> >>> yang2dsdl is one option but I'm pretty sure it doesn't actually check the >>> data >>> against 'must' statements. >>> >>> Are there some tools that check against 'must' (and 'when') statements? >> Do >>> those tools also work with YANG 1.1 modules? >> >> Yangson does a complete validation, and supports YANG 1.1, but only JSON >> representation of instance data. The GitHub link is below, a PyPI package is >> also available: >> >> https://pypi.org/project/yangson/ >> >> Lada >> >>> >>> Thx, >>> Jason >>> >>> >> ############################################################### >> ############### >>> ######################## >>> Re: [netmod] Toolchain upgraded to yangdump-pro 16.10-5 => 16.10-5..1 >>> Ladislav Lhotka <lho...@nic.cz> Tue, 07 March 2017 12:42 UTCShow >> header >>> >>> Kent Watsen <kwat...@juniper.net>; writes: >>> >>>> Hi Benoit, >>>> >>>> You seem to know the ins and outs of many tools these days, maybe you >>>> can point me in the right direction...which tool is able to validate >>>> instance documents against YANG 1.1 modules? >>> >>> Yangson can validate JSON documents: >>> >>> https://github.com/CZ-NIC/yangson >>> >>>> >>>> I've always used `yang2dsdl`, but currently it outputs "DSDL plugin >>>> supports only YANG version 1". >>> >>> I considered updating the DSDL plugin to 1.1 but it turned up to be >>> immensely difficult - it would basically require a complete rewrite. And >>> even then, the Schematron implementation that is included in pyang >>> distribution won't support the new XPath functions. >>> >>> Lada >>> >>> >> ############################################################### >> ############### >>> ######################## >>> >>> Re: [netmod] DSDL plugin in pyang >>> Ladislav Lhotka <lho...@nic.cz> Tue, 29 November 2016 13:39 UTCShow >> header >>> >>> Hi William, >>> >>> apart from yang2dsdl, I have personal experience with these two instance >>> validation tools: >>> >>> * yanglint - written in C, supports both XML and JSON instance encoding >>> >>> https://github.com/CESNET/libyang >>> >>> * yangson - written in Python, supports only JSON >>> >>> https://github.com/CZ-NIC/yangson >>> installation: pip install yangson >>> manual page: http://yangson.readthedocs.io/en/latest/cmdline.html >>> >>> Lada >>> >>> William Lupton <wlup...@broadband-forum.org>; writes: >>> >>>> Are you able to provide a list (either privately or via the NETMOD list) of >>> other instance data validators that are available and cover YANG 1.1 >> features? >>> Tx, W. >>>> >>>>> On 25 Nov 2016, at 14:33, Ladislav Lhotka <lho...@nic.cz>; wrote: >>>>> >>>>> Hi, >>>>> >>>>> for users of $subj: I modified the plugin so that it now immediately >>> refuses to process modules of yang-version greater than 1. Supporting some >> of >>> the YANG 1.1 features (new XPath functions, leafref handling) would require >>> massive changes and I cannot do them now - I am not even sure it is worth >> the >>> effort given that other instance data validators are available. >>>>> >>>>> Lada >>> >>> -- >>> >>> >> ############################################################### >> ############### >>> ######################## >>> >>> _______________________________________________ >>> 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 > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod