On Wed, Jul 01, 2015 at 02:03:15PM +0200, Ladislav Lhotka wrote: > > > On 01 Jul 2015, at 09:21, Juergen Schoenwaelder > > <j.schoenwael...@jacobs-university.de> wrote: > > > > On Wed, Jul 01, 2015 at 08:54:07AM +0200, Ladislav Lhotka wrote: > >> Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de> writes: > >> > >>> On Tue, Jun 30, 2015 at 04:07:10PM +0200, Ladislav Lhotka wrote: > >>>> > >>>>> On 30 Jun 2015, at 15:39, Juergen Schoenwaelder > >>>>> <j.schoenwael...@jacobs-university.de> wrote: > >>>>> > >>>>> On Tue, Jun 30, 2015 at 03:32:13PM +0200, Ladislav Lhotka wrote: > >>>>>> > >>>>>>> On 30 Jun 2015, at 15:20, Juergen Schoenwaelder > >>>>>>> <j.schoenwael...@jacobs-university.de> wrote: > >>>>>>> > >>>>>>> On Tue, Jun 30, 2015 at 02:56:30PM +0200, Ladislav Lhotka wrote: > >>>>>>>> Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de> writes: > >>>>>>>> > >>>>>>>>> On Mon, Jun 29, 2015 at 11:49:11AM +0200, Ladislav Lhotka wrote: > >>>>>>>>>> Hi Juergen, > >>>>>>>>>> > >>>>>>>>>> thank you for the review. > >>>>>>>>>> > >>>>>>>>>> Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de> > >>>>>>>>>> writes: > >>>>>>>>>> > >>>>>>>>>>> On Mon, Jun 15, 2015 at 10:49:28PM +0000, Kent Watsen wrote: > >>>>>>>>>>>> > >>>>>>>>>>>> This is a notice to start a NETMOD WG last call for the document > >>>>>>>>>>>> "JSON Encoding of Data Modeled with YANG": > >>>>>>>>>>>> > >>>>>>>>>>>> https://tools.ietf.org/html/draft-ietf-netmod-yang-json-04 > >>>>>>>>>>>> > >>>>>>>>>>>> Please indicate your support by Monday June 29, 2015 at 9PM EST. > >>>>>>>>>>> > >>>>>>>>>>> Hi, > >>>>>>>>>>> > >>>>>>>>>>> I have reviewed draft-ietf-netmod-yang-json-04. > >>>>>>>>>>> > >>>>>>>>>>> - I am not sure I agree with the wording in section 3. Why is > >>>>>>>>>>> section > >>>>>>>>>>> 8.3.3 only applicable to XML encoded data? Validation applies to > >>>>>>>>>>> datastores. While constraints are defined using XML-based > >>>>>>>>>>> notations > >>>>>>>>>> > >>>>>>>>>> You are right that this section shouldn't talk about XML-encoded > >>>>>>>>>> data, > >>>>>>>>>> i.e. serialized form. On the other hand, XPath 1.0 spec says: > >>>>>>>>>> "XPath > >>>>>>>>>> operates on the abstract, logical structure of an XML document, …". > >>>>>>>>>> > >>>>>>>>>> So I think a datastore needs to be represented, at least > >>>>>>>>>> conceptually, > >>>>>>>>>> as XML infoset. > >>>>>>>>>> > >>>>>>>>>>> such as XPATH, how the validation is carried out is not defined in > >>>>>>>>>>> the YANG specifications. I guess I actually disagree with the > >>>>>>>>>> > >>>>>>>>>> I don't think this is true. YANG spec doesn't say how "must" and > >>>>>>>>>> "when" > >>>>>>>>>> statements are evaluated, and relies on XPath. > >>>>>>>>> > >>>>>>>>> RFC 6020: > >>>>>>>>> > >>>>>>>>> When a datastore is validated, all "must" constraints are > >>>>>>>>> conceptually evaluated once for each data node in the data tree, and > >>>>>>>>> for all leafs with default values in use (see Section 7.6.1). If a > >>>>>>>>> data node does not exist in the data tree, and it does not have a > >>>>>>>>> default value, its "must" statements are not evaluated. > >>>>>>>>> > >>>>>>>>> [...] > >> > >> The text you substituted here with an ellipsis is actually quite > >> important for this discussion because it defines the context for XPath > >> evaluation (together with section 6.4), in particular the data tree on > >> which every XPath expression is evaluated. It is clear that the data > >> tree can also comprise state data, notification content or RPC > >> input/output, i.e. not only datastore content as you keep saying. > >> > >> Terms like "context node" refer to the XPath data model as described in > >> sec. 5 of the XPath spec: > >> > >> http://www.w3.org/TR/1999/REC-xpath-19991116/#data-model > >> > >> (and section 6.4 in RFC 6020 says it explicitly). > >> > >> We need to know, at least conceptually, how to construct the XPath data > >> tree from JSON text. For example, it has to be clear that leaf-list > >> entries encoded as a JSON array appear as sibling nodes in the data > >> tree, otherwise a "must" constraint specified for the leaf-list won't > >> work correctly. I don't think this is anyhow evident and IMO it has to > >> be addressed. This is the purpose of section 3 in > >> draft-ietf-netmod-yang-json-04. > >> > >> Would it help if "validation" is replaced with "XPath evaluation" > >> throughout this section? > > > > No. I continue to believe (a) a datastore is validated and not an XML > > infoset (or something like that) and (b) that the evaluation of "must" > > constraints is conceptual. > > Both NETCONF and YANG are absolutely silent about the data model of a > datastore, so I assume it can be pretty much anything. Can you explain how a > “must” constraint is conceptually evaluated on, say, key-value database? >
This is a question to answer by someone who implements it on a key-value database. I feel we are wasting time and energy here. /js -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 <http://www.jacobs-university.de/> _______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod