[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Simple] Updated RPID





Jonathan Rosenberg wrote:

To answer Paul's original question, he wrote:

I have a question about how the data model xml type extensions for
<person> and <device> interact with the status and characteristic
types defined in various places.

(This may just be a matter of my ignorance of XML details.)

The data model defines a number of abstract types. I infer that the
only elements that are permitted as capabilities or status of person
or device must have themselves been declared as extensions to the
corresponding abstract type.

If that is true, then it would seem to rule out the same type being
used in more than one of <tuple>, <person>, or <device>. This would
minimally mean that every type defined in RPID will need to be
revised to specify which container it is intended for.

This also means that we can't have types that are intended to be
useful in more than one of these. (E.g. idle.)


If you want an element to be valid for both person and device, than yes, you would need to define it twice. You can give it the same name, and just use different namespaces.

Then I gather there is no "multiple inheritance" in xml that would permit me to define it once as a realization of both.


But note that this kind of typing of the extension elements was not done in PIDF, and so it doesn't apply to <tuple>. So there is no syntactical restriction to my using one of the person-specific elements in a <tuple>. Its too late to go back and change PIDF to use the same approach.

Making equivalent extensions in two namespaces for use in both person and device might feel better, but semantically (and probably in implementation) they are different. It would be at least annoying *if* there were a lot of cases where this was the right thing to do.

I think that being crisp about its interpretation in each of the different components of the data model is a feature of this approach, not a bug. You need to EXPLICITLY make it apply to all three, rather than have that be the case only unless you say otherwise.

I agree that there are benefits.

In the case of rpid, based on my pass through the -04 version, there was only one attribute that was plausibly valid in two places - idle, for either device or service. We've in fact been debating its validity for service in any case.
>
Thus, the fact that this is a problem in theory and not in practice, says to me that we are doing the right thing.

Yes, it is a data point in that direction.

	Paul


_______________________________________________ Simple mailing list Simple at ietf.org https://www1.ietf.org/mailman/listinfo/simple