← Prev in month ← Prev in thread
Next in thread → Next in month →

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

From
Erummond Qeed
Date
2009-12-30T01:53:09+00:00
ID
Thread
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 <> 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:>

<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: 

Unsubscribe: 

List help: 

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
← Prev in month ← Prev in thread
Next in thread → Next in month →