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

Reply via email to