RFD: Adding alias names to links and resources in HTML documents

Rob (wlkngowl@unix.asb.com)
Thu, 24 Apr 1997 18:06:42 +0000


Message-Id: <199704242213.SAA28939@unix.asb.com>
From: "Rob" <wlkngowl@unix.asb.com>
To: www-html@w3.org
Date: Thu, 24 Apr 1997 18:06:42 +0000
Subject: RFD: Adding alias names to links and resources in HTML documents
CC: wlkngowl@unix.asb.com


A lot of suggestions regarding <link>, <resource> etc. Read on:

A useful feature to add to Cougar would be the use of logical names 
(aliases) for resources using the <link> tag.  Links in documents 
would refer to the logical name of the resource, with that name being 
defined (in a shared file) with the actual URL.

Something like the following:

<head>
 [..]
 <link name=Appendix href="notes/Appendix.html">
</head>
<body>
 [..]
 <p>See the <a href="#Appendix">appendix</a> for a detailed
  description of the process...</p>

Shared resource names could be implemented using the following:

 <link rel=Resource-Aliases type="text/html" href="resources.dat">

Advantage is in site maintenance. One can move or rename or maintain 
multiple versions of files without having to change every document on 
the site.  One could also refer to documents relative to other 
documents:

  <a href="Chapter-1.html#Appendix">

This also allows other sites to maintain links to resources without 
worrying about moved URLs.  Likewise a sub-section marked as

  <a name="Section">

in a document can later be moved to a separate file if need be.

The (major!) disadvantage is that current/older browsers will not 
handle this well.

  <a name="Section" href="URL" rel=Moved>

will work in the meantime, but negates the advantags of maintenance.

This could also be combined with the <resource> tag in the <head> 
section to allow for multiple resource types, versions, or even 
mirroring:

 <resource name="Logo">
  <link type="image/gif" href="logo.gif">
  <link type="image/png" href="logo.png" preferred>
 </resource>

Which can be referred to:

 <img src="logo.gif" resource="#Logo">

This should maintain backward compatability.  It also allows 
alternate documents for printing or readers for the blind, etc.

Maintaining multiple versions could also be done:

 <resource name="Appendix">
  <link version="1.1" href="notes/Appendix-1.1.html" preferred>
  <link version="1.0" href="notes/Appendix-1.0.html">
 </resource>

in case one desires to make multiple versions available (perhaps 
browsers/user-agents could give a pop-up menu for multiple versions 
if they are available).

This also allows one to download the latest version of software while 
making earlier versions available.  It could also be used for 
mirroring/dynamic site selection, if a site is unavailable:

 <resource name="NiftyApplication">
   <link href="ftp://site1.com/pub/niftapp.zip">
   <link href="ftp://site2.com/pub/mirrors/site1/pub/niftapp.zip">
 </resource>

 [..]

 <p>Download the <a href="#NiftyApplication">Nifty 
        Application</a></p>

(Likewise, selection of preferred download types such as 
application/x-gzip or application/x-arj etc....)

The algorithm for deciding which resource would use the resource 
marked "preferred" (possibly with an optional preferred= priority 
level?), otherwise the first resource link with an acceptable type at 
a site which responds.

(Advanced user agents could maintain statistics on site response 
during a time of day and select the best site?)

Something else:

 <link href="logo.gif" type="image/gif"
   last-modified="Tues 01 Apr 14:37:04 1997">

this might allow agents to use a cached copy of the resource if one 
exists (a last-modified element could be added to <img> and 
<a> as well).

Comments?

--Rob