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