"Bogaert, Bart (Nokia - BE)" <[email protected]> wrote: > Is there a reason why the ABNF for example the when and must statement has > been "restricted" to when-keyword sep string optsep > > As "string" can't be tokenized no errors are generated by YANG compilers if > this string contains an error, e.g. referred leaf does not exit due to a > typo. This problem only exposes itself at run-time. I was wondering why > this string was not broken down into a number of specific parts that define > the when statement so that these kind of errors can be trapped early in the > development process? I am rather new in this so I did not follow all > discussions that led to the definition of YANG and hence have no idea > whether this was discussed and what were the reasons not to do it this way.
The arguments to the "when" and "must" statements are XPath 1.0 expressions. The syntax of XPath 1.0 is not defined by YANG, but by the XPath 1.0 spec. This is the reason that the YANG grammar isn't more specific. YANG compilers differ in their ability to detect errors in these XPath expressions. Some perform more checks than others (unfortunately, pyang is pretty bad in this regard... (patches are always welcome:)). [For your particular example, referencing a leaf that doesn't exist is not an error per se; it is perfectly valid XPath. But it probably warrants a warning by the compiler.] /martin _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
