On Wed, Nov 11, 2015 at 11:51 PM, Juergen Schoenwaelder <
j.schoenwael...@jacobs-university.de> wrote:

> On Thu, Nov 12, 2015 at 08:10:51AM +0100, Ladislav Lhotka wrote:
> > Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de> writes:
> >
> > > On Wed, Nov 11, 2015 at 03:14:13PM +0100, Ladislav Lhotka wrote:
> > >>
> > >> > On 11 Nov 2015, at 14:59, Juergen Schoenwaelder <
> j.schoenwael...@jacobs-university.de> wrote:
> > >> >
> > >> > On Wed, Nov 11, 2015 at 02:53:49PM +0100, Ladislav Lhotka wrote:
> > >> >>
> > >> >>> On 11 Nov 2015, at 14:44, Juergen Schoenwaelder <
> j.schoenwael...@jacobs-university.de> wrote:
> > >> >>>
> > >> >>> On Wed, Nov 11, 2015 at 02:24:15PM +0100, Ladislav Lhotka wrote:
> > >> >>>>
> > >> >>>>>
> > >> >>>>> I wrote 'effectively deprecated' and here is the text in
> 6020bis.
> > >> >>>>>
> > >> >>>>> Since the use of anyxml limits the manipulation of the content,
> it is
> > >> >>>>> RECOMMENDED that the "anyxml" statement not be used to define
> > >> >>>>> configuration data.
> > >> >>>>>
> > >> >>>>> It should be noted that in YANG version 1, anyxml was the only
> > >> >>>>> statement that could model an unknown hierarchy of data.  In
> many
> > >> >>>>> cases this unknown hierarchy of data is actually modelled in
> YANG,
> > >> >>>>> but the exact YANG model is not known at design time.  In these
> > >> >>>>> situations, it is RECOMMENDED to use anydata (Section 7.10)
> instead
> > >> >>>>> of anyxml.
> > >> >>>>
> > >> >>>> The first paragraph is for config data and the second for data
> that can modelled with YANG. If we want to deprecate "anyxml" for use with
> data that are neither of these, 6020bis should say so. I'd be fine with
> that.
> > >> >>>>
> > >> >>>
> > >> >>> The guidelines will say that any usage of anyxml in the IETF will
> be
> > >> >>> carefully checked by YANG doctors. See Y34 for all details.
> > >> >>>
> > >> >>>>> There is more text in Y34-05 that will go into the guidelines.
> I call
> > >> >>>>> this "effectively deprecated", you can call it differently if
> you
> > >> >>>>> want. Frankly, this thread is about how to encode anyxml in
> JSON not
> > >> >>>>> about the YANG 1.1 issue Y34. You may not like Y34-05 but this
> is what
> > >> >>>>> we ended up with.
> > >> >>>>
> > >> >>>> I am strongly against encoding serialized XML as JSON strings.
> It is IMO totally useless and the spec would have to deal with awkward
> complications because it is not true that arbitrary XML-encoded anyxml
> content can be used without changes in JSON encoding.
> > >> >>>>
> > >> >>>> Perhaps the best solution would be to state that JSON encoding
> is incompatible with data models that use "anyxml".
> > >> >>>>
> > >> >>>
> > >> >>> Perhaps we can only settle this by doing an opinion poll since
> > >> >>> debating this forever is not useful. So what are the options?
> > >> >>>
> > >> >>> a) The JSON encoding does not define anyxml is not encoded at
> all. If
> > >> >>>  you use anyxml in a data model, the content will not appear in
> JSON
> > >> >>>  encodings.
> > >> >>>
> > >> >>> b) The JSON encoding defines that anyxml data is encoded as a
> string
> > >> >>>  containing XML.
> > >> >>>
> > >> >>> c) The JSON encoding defines that anyxml is encoded in whatever
> way
> > >> >>>  the implementor finds useful.
> > >> >>>
> > >> >>> d) If the anyxml content is actually valid anydata content,
> encode it
> > >> >>>  using anydata rules. Content that is not valid anydata content is
> > >> >>>  not encoded at all.
> > >> >>>
> > >> >>> Any options missing?
> > >> >>
> > >> >> Yes, the one that's in yang-json-06:
> > >> >>
> > >> >> e) An anyxml instance is encoded as a JSON name/value pair which
> MUST
> > >> >>   satisfy I-JSON constraints.  Otherwise it is unrestricted, i.e.,
> the
> > >> >>   value can be an object, array, number, string or one of the
> literals
> > >> >>   "true", "false" and "null".
> > >> >>
> > >> >> My preference is e), and then a).
> > >> >>
> > >> >
> > >> > Is e) not the same as c)? I assume that the JSON encoding will
> always
> > >> > be valid JSON (or I-JSON to be precise). So it seems the only
> refinement
> > >> > of e) is the toplevel.
> > >>
> > >> c) sounds like the same data can be encoded in different ways
> depending on what the implementor finds useful, e.g. encode all numbers as
> strings.
> > >>
> > >
> > > But e) says the same, I fail to see the difference here.
> >
> > The way how c) is formulated is rather suggestive: beware, this is
> > non-interoperable by its very nature. I think it is as interoperable as
> > anyxml in XML encoding. Without knowing the context, translating anyxml
> > chunks from XML to JSON, and vice versa, is quite problematic even for
> > b).
>
> e) is no better than c) in terms of interoperability
>
>

(e) does not even make sense. "Otherwise" is never paired with "MUST".

Interoperability expectations should be very low for anyxml.
We already established that over 1000 emails ago.


/js
>

Andy


>
> --
> 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
>
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to