OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xri-comment] Remove /XRD/Link/Property


Toby,

Thanks much for your feedback. Ironically, <Property> was added to <Link> so that implementers would not complain that resources can have properties but links could not.

I agree with you that using a link property to communicate the version of a rel value is not a good practice. However I don't think that's a good reason not to allow properties on links. I'll give a simple example. Imagine that some authority defining a link relationship decides its important for that particular link relationship to record the datetime at which the link was created. That authority could easily do that in a relatively standardized way (and without having to create a new XML namespace) with a link property.

If the new spec is not sufficiently clear about the difference between a property of a resource (XRD/Property) and a property of a link (XRD/Link/Property), IMHO it would be better to clarify that in the text of the spec that eliminate that option for those who may need it.

=Drummond

On Tue, Dec 29, 2009 at 1:50 AM, Toby Inkster <mail@tobyinkster.co.uk> wrote:
<Property> as a child of <Link> seems to be an unnecessary complication.
The main use case as I see for it is specifying the versions of some
protocol that an endpoint supports. i.e.

       <Link rel="http://example.net/webcam-protocol"
               href=""/my-webcam">                <Property type="http://example.net/webcam-protocol/version">1.0</Property>
               <Property type="http://example.net/webcam-protocol/version">2.0</Property>
       </Link>

I don't think <Property> is really needed here. Once version 1.0 of the
protocol is published, links can just use:

       <Link rel="http://example.net/webcam-protocol" href=""/my-webcam"" />

If a version 2.0 of the protocol is published offering improvements over
version 1.0, it may have been designed so that 2.0 clients don't need
prior knowledge of the protocol version supported by the endpoint, in
which case, version 2.0 can continue to use:

       <Link rel="http://example.net/webcam-protocol" href=""/my-webcam"" />

However, if an explicit version indicator is needed to help version 2.0
clients:

       <Link rel="http://example.net/webcam-protocol" href=""/my-webcam"" />
       <Link rel="http://example.net/webcam-protocol-2" href=""/my-webcam"" />

And to cover the final possibility, if version 2.0 is completely
incompatible with version 1.0, then the XRD would just contain:

       <Link rel="http://example.net/webcam-protocol-2" href=""/my-webcam"" />

So that version 1.0 clients won't inadvertantly follow the link.

I'm not suggesting the removal of the <Property> element altogether -
just disallowing it as a child of <Link>. It would still be allowed as a
child of <XRD>.

Removing it simplifies parsing XRD files, simplifies the data structure
and would probably ease XRD publisher confusion given that right now
<Property> can occur in two places, with different interpretations.

--
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>


--
This publicly archived list offers a means to provide input to the
OASIS Extensible Resource Identifier (XRI) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: xri-comment-subscribe@lists.oasis-open.org
Unsubscribe: xri-comment-unsubscribe@lists.oasis-open.org
List help: xri-comment-help@lists.oasis-open.org
List archive: http://lists.oasis-open.org/archives/xri-comment/
Feedback License: http://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
Committee: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xri




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]