On Wed, Oct 17, 2018 at 2:43 PM, Alex Campbell <[email protected]> wrote:
> > At the abstract level I do not understand how when-stmt would work > differently. > > IMO deviation-stmt already allows enough flexibility to rewrite the > model to > > fit the implementation. > > FWIW: deviation statements cannot be used to modify when statements - > "when" is missing from the list of statements that can be > added/removed/replaced. > I'm wondering if this should be considered errata. > > > This was intentional. I meant that deviations can already be used to add/replace/remove constraints within data nodes. It is true that there is no way to say certain constraints only apply based on external data. As Robert said, I don't understand why we need that. Andy ------------------------------ > *From:* netmod <[email protected]> on behalf of Andy Bierman < > [email protected]> > *Sent:* Thursday, 18 October 2018 7:21 a.m. > *To:* Michael Rehder > *Cc:* [email protected] > *Subject:* Re: [netmod] WHEN statement within mandatory objects doesn't > ensure presence of the mandatory object > > > > On Wed, Oct 17, 2018 at 10:56 AM, Michael Rehder < > [email protected]> wrote: > >> That's exactly my point - I think that the wording is unclear in the RFC, >> that "conditional" doesn't necessarily mean the mandatory status is ignored. >> >> BTW a Schematron rule is emitted to ensure a "mandatory true" CHOICE has >> at least one CASE present, so there already is an "existential" check built. >> >> I'll suggest a YANG enhancement on "yang-next" for the ability to respect >> mandatory status or not by a when statement. >> >> > > The when statement works as intended. The entire subtree is on or off if > when-stmt is present. > There is a lot of relevant text in 7950 and it cannot be grouped into 1 > section, so that may make > it more complicated. > > The whole point of "augment when" and "uses when" is to allow the designer > to > say "this part of the model is only relevant for a subset of all possible > values > in another part of the model". In SNMP we called this SPARSE AUGMENTS > but it was just DESCRIPTION clause text, not machine-reaable. > > At the abstract level I do not understand how when-stmt would work > differently. > IMO deviation-stmt already allows enough flexibility to rewrite the model > to > fit the implementation. > > > > >> Thanks >> mike >> > > Andy > > >> > -----Original Message----- >> > From: Ladislav Lhotka [mailto:[email protected]] >> > Sent: Wednesday, October 17, 2018 4:43 AM >> > To: Michael Rehder <[email protected]>; Juergen Schoenwaelder >> > <[email protected]> >> > Cc: [email protected] >> > Subject: Re: [netmod] WHEN statement within mandatory objects doesn't >> > ensure presence of the mandatory object >> > >> > Michael Rehder <[email protected]> writes: >> > >> > > I've read rfc6110 and I didn't see any mention of "WHEN" on the >> > > mandatory status (section 9.1.1 Optional and Mandatory Nodes doesn't >> > > list it which seems a bit odd to me). >> > >> > RFC 6110 was being prepared along with RFC 6020, and section 9.1.1 is >> closely >> > related to sec. 3.1 in 6020. >> > >> > > The section on "WHEN" just mentions the xpath mapping, not anything >> > > about changing the mandatory status of the enclosing node. >> > >> > If you take into account the DSDL validation procedure (Figure 2 in RFC >> > 6110) then everything is IMO clear: >> > >> > - Mandatory nodes (as defined in sec. 9.1.1) are not wrapped in >> > <rng:optional> and thus are required during RELAX NG schema >> > validation, no matter what any "when" expression says. >> > >> > - Section 12.17 explains how when expressions are mapped to Schematron >> > asserts. This means that if an instance node exists in the data and a >> > when expression attached to the corresponding data node in YANG >> > evaluates to false, Schematron will report a failed assert.. >> > >> > - Note that Schematron cannot by definition report absence of an >> > instance based on the when expression attached to its data >> > node: Schematron rules are only fired for elements that are present in >> > the instance document. >> > >> > > >> > > I still think that the YANG RFC wording of "conditional" needs to >> indicate if the >> > node is mandatory status is affected or not. >> > > Note that rfc6060 "3.1 Mandatory Nodes" doesn't mention "WHEN" (it >> > > does mention presence). >> > >> > Perhaps this thread is just about misunderstanding of what "when" really >> > means, which is: Instances for which the "when" expression evaluates to >> false >> > must not be present. >> > >> > It does NOT mean that instances for which the "when" expression >> evaluates to >> > true must be present. >> > >> > Lada >> > >> > > >> > > Thanks >> > > Mike >> > >> -----Original Message----- >> > >> From: Juergen Schoenwaelder >> > >> [mailto:[email protected]] >> > >> Sent: Saturday, October 13, 2018 5:20 PM >> > >> To: Michael Rehder <[email protected]> >> > >> Cc: [email protected] >> > >> Subject: Re: [netmod] WHEN statement within mandatory objects doesn't >> > >> ensure presence of the mandatory object >> > >> >> > >> On Fri, Oct 12, 2018 at 04:08:48PM +0000, Michael Rehder wrote: >> > >> >> > >> > The mandatory statement in that case is ignored (I’ve pointed out >> > >> > the RNG and Schematron lack of enforcement). WHEN trumps the >> > >> > mandatory status (via explicit mandatory or implicit mandatory via >> > >> > min-elements >> > >> > 1) >> > >> >> > >> Has the RNG and Schematron been obtained following RFC 6110? If so, >> > >> this may be a problem with RFC 6110 but not with YANG itself. There >> > >> are validators that do not use RNG or Schematron. >> > >> >> > >> /js >> > >> >> > >> -- >> > >> Juergen Schoenwaelder Jacobs University Bremen gGmbH >> > >> Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | >> Germany >> <https://maps.google.com/?q=Campus+Ring+1+%7C+28759+Bremen+%7C+Germany&entry=gmail&source=g> >> > >> Fax: +49 421 200 3103 <https://www.jacobs-university.de/> >> > > “Amdocs’ email platform is based on a third-party, worldwide, >> cloud-based >> > system. Any emails sent to Amdocs will be processed and stored using >> such >> > system and are accessible by third party providers of such system on a >> limited >> > basis. Your sending of emails to Amdocs evidences your consent to the >> use of >> > such system and such processing, storing and access”. >> > > _______________________________________________ >> > > netmod mailing list >> > > [email protected] >> > > https://www.ietf.org/mailman/listinfo/netmod >> > >> > -- >> > Ladislav Lhotka >> > Head, CZ.NIC Labs >> > PGP Key ID: 0xB8F92B08A9F76C67 >> “Amdocs’ email platform is based on a third-party, worldwide, cloud-based >> system. Any emails sent to Amdocs will be processed and stored using such >> system and are accessible by third party providers of such system on a >> limited basis. Your sending of emails to Amdocs evidences your consent to >> the use of such system and such processing, storing and access”. >> _______________________________________________ >> netmod mailing list >> [email protected] >> https://www.ietf.org/mailman/listinfo/netmod >> > >
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
