On Wed, 2019-06-12 at 09:53 +0000, Rob Wilton (rwilton) wrote:
> Hi Lada,
>
> > -----Original Message-----
> > From: Ladislav Lhotka <[email protected]>
> > Sent: 12 June 2019 10:40
> > To: Rob Wilton (rwilton) <[email protected]>; NETMOD WG <[email protected]>
> > Subject: Re: [netmod] regular expression flavours (again)
> >
> > Hi Rob,
> >
> > On Wed, 2019-06-12 at 09:25 +0000, Rob Wilton (rwilton) wrote:
> > > Hi Lada,
> > >
> > > OpenConfig have already introduced a module level extension statement
> > > to indicate that their pattern statements use POSIX regular expressions.
> >
> > What I meant was rather something like
> >
> > pattern-language "POSIX";
> >
>
> But depending on how many pattern languages are supported, wouldn’t that make
> implementing YANG a lot harder, since implementations would need to support
> all the allowed pattern languages?
Not necessarily, implementors should be able decide which flavours to support.
So OpenConfig would be a niche that uses POSIX, and they have to use tools that
support it.
The real problem here is that they use an extension for changing the semantics
of a built-in YANG statement, which is IMO not permitted by RFC 7950 and causes
implementations to break without warning, or even opens security holes. If it
was a critical extension, and I didn't want to implement the POSIX flavour, my
implementation should be able to notice it and say "Sorry, I can't work with
this module".
> Also, IIRC, POSIX regex doesn't support unicode, which means that it isn't
> necessarily a good choice for a language that does support unicode strings by
> default.
Yes, this has also been discussed previously. I am not advocating POSIX in
favour of XSD, I just want to guarantee that YANG tools can be made so as to
behave predictably and safely. We cannot expect YANG BFUs to understand the dog-
fighting between NETMOD and OpenConfig.
>
> > with the default being "XSD". It could possibly also include your proposal
> > of XSD regex subset (issue #21).
>
> Really my aim was the other way around. I.e. have all YANG pattern statements
> in just one simple regex language that could trivially be converted to run on
> any common regex engine.
I understand this, but I think the full XSD pattern language has to remain an
option.
Lada
>
> > This could in fact be a good candidate for a critical extension.
> >
> > > extension regexp-posix {
> > > description
> > > "This extension indicates that the regular expressions included
> > > within the YANG module specified are conformant with the POSIX
> > > regular expression format rather than the W3C standard that is
> > > specified by RFC6020 and RFC7950.";
> > > }
> > >
> > > Defined in
> > > https://github.com/openconfig/public/blob/master/release/models/openco
> > > nfig-extensions.yang
> > >
> > > I don't think that this should become part of the YANG standard.
> >
> > I suspect that developers of YANG tools are being pushed by users to
> > include support for this anyway, so I don't see much benefit from blocking
> > it.
>
> I don't see this as blocking it at all, but rather that a pragmatic common
> solution already exists without requiring any standardization work.
>
> Thanks,
> Rob
>
>
> > Lada
> >
> > > Thanks,
> > > Rob
> > >
> > >
> > > > -----Original Message-----
> > > > From: netmod <[email protected]> On Behalf Of Ladislav Lhotka
> > > > Sent: 12 June 2019 09:02
> > > > To: NETMOD WG <[email protected]>
> > > > Subject: [netmod] regular expression flavours (again)
> > > >
> > > > Hi,
> > > >
> > > > I think it is very unfortunate that OpenConfig folks use POSIX
> > > > regular expressions instead of XSD. This of course causes confusion,
> > > > see e.g. this
> > > > PR:
> > > >
> > > > https://github.com/CZ-NIC/yangson/pull/22
> > > >
> > > > Given the popularity of OpenConfig models, it seems to me that it
> > > > would be better if YANG somehow accomodates such (largely cosmetic)
> > differences.
> > > > One option would be that each YANG module declares the regex flavour
> > > > used in its patterns. Yes, it is a complication, but having separate
> > > > forks of YANG is much worse.
> > > >
> > > > ISO Schematron adopted a similar approach with "query language
> > binding"
> > > > that can be declared with the schema element, for example
> > > >
> > > > <schema xmlns="http://purl.oclc.org/dsdl/schematron"
> > > > queryBinding="exslt">
> > > >
> > > > Any thoughts on this?
> > > >
> > > > Lada
> > > >
> > > > --
> > > > Ladislav Lhotka
> > > > Head, CZ.NIC Labs
> > > > PGP Key ID: 0xB8F92B08A9F76C67
> > > >
> > > > _______________________________________________
> > > > netmod mailing list
> > > > [email protected]
> > > > https://www.ietf.org/mailman/listinfo/netmod
> > --
> > Ladislav Lhotka
> > Head, CZ.NIC Labs
> > PGP Key ID: 0xB8F92B08A9F76C67
--
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod