Re: two failings of XLink

Hi Norm,

> The most common example I've seen is:
>
>   <img src="someURI" longdesc="someOtherURI"/>
>
> There are several ways to look at this. One way is that both src and
> longdesc are hypertext references and therefore XLink is technically
> insufficient to the task.
>
> But I can look at it in at least two other ways:
>
> 1. The src attribute is an xlink:href. The longdesc attribute is a URI that
>    points to some additional description. Not every URI has to have the
>    semantic of xlink:href.

I agree that not every URI has to have the semantic of xlink:href
('codebase' on the <object> element is an example in XHTML2), but I
think that if they indicate resources that are linked together, such
that (for example) clicking on an image should take you to the long
description, then I think that this can be classed as a hyperlink, and
that therefore it should be expressible using XLink.

> 2. The longdesc attribute is itself an artifact of design constraints that
>    were pragmatic rather than technically necessary. An alternative form
>    of the link:
>
>      <img src="someURI">
>        <longdesc>
>          <p>The long description of the link</p>
>        </longdesc>
>      </img>
>
>    would have a number of advantages. The least of which being that XLink
>    would suffice for the link attributes in this design.

Perhaps a different example would be more useful:

  <object archive="archive.jar,anotherArchive.jar"
          classid="java:Class"
          data="data.xml">
    The applet failed to load, sorry!
  </object>

Assuming that you don't adopt Elliotte's policy of turning everything
into a simple link (which I really don't think would work here, since
the whole point of these links is that they're related), and assuming
all sorts of defaulting in the DTD or schema, a minimal XLink version
would be something like:

  <object>
    <archive xlink:href="archive.jar" />
    <archive xlink:href="anotherArchive.jar" />
    <classid xlink:href="java:Class" />
    <data xlink:href="data.xml" />
    <alt>The applet failed to load, sorry!</alt>
    <embedClass />
    <linkToArchives />
    <linkToData />
  </object>

Note that the <embedClass>, <linkToArchives> and <linkToData> elements
at the end are 'arcs' that silently (because of the defaulting) links
the content of the <alt> element to the rest of the resources.

For what it's worth, I think that 'arcs' are the most problematic (and
objectionable) aspect of adopting the extended link syntax. (Which
isn't to say that I don't think there are other issues about using
XLink, just to try to highlight this one.) Perhaps XLink could just
drop them and we could use some other method (e.g. XML Events) to
describe how and when resources were loaded.
  
Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/

Received on Friday, 27 September 2002 15:36:40 UTC