Hi Michal, My thoughts:
According to 7.5.1: In the first style, the container has no meaning of its own, existing only to contain child nodes. In particular, the presence of the container node with no child nodes is semantically equivalent to the absence of the container node. YANG calls this style a "non-presence container". This is the default style. Hence your request (because the NP container does not have any children) is equivalent to: <TOP> <L/> </TOP> which fails the "mandatory" check. Thanks, Rob > -----Original Message----- > From: netmod <[email protected]> On Behalf Of Michal Vaško > Sent: 24 June 2019 17:39 > To: netmod <[email protected]> > Subject: [netmod] mandatory choice with non-presence container case > > Hi, > I have encountered a situation that I think is not covered by RFC 7950. My > specific use-case was as follows. > > model: > > container TOP { > leaf L { > type empty; > } > choice A { > mandatory true; > container C; > } > } > > data: > > <TOP> > <L/> > <C/> > </TOP> > > Parsing was successful, but printing these data back to XML produced: > > <TOP> > <L/> > </TOP> > > and parsing this correctly failed with missing mandatory choice. According > to section 7.5.7 [1], I think the C container could be omitted but the > whole situation does not seem correct. Thank you for any input. > > Regards, > Michal > > [1] https://tools.ietf.org/html/rfc7950#section-7.5.7 > > _______________________________________________ > netmod mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/netmod _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
