> |     <?LINKREL X-MICROSOFT-DAIRYPRODUCTS>.
> 
> Right.  Now why use PIs at all?
Namespace control.
Applications would not be allowed to interpret typed links unless
an appropriate support declaration is present.  Whether the support
declaration is a PI or an element or an HTTP message header
doesn't matter, though I happen to think that PIs are the most
appropriate syntactical construct for this purpose.
> [...]
> However, for the case in hand, you have the obvious solution
> 
> <LINK REL=LINKSET HREF=".....">
> and then you put all that info outside the current document,
> where you can reuse it.
OK; fine by me.  So there is exactly *one* reserved link 
relation name, namely LINKREL, and authors can use any
other name without worrying about unexpected behaviour
unless they explicitly request it by specifying a link 
with relation LINKREL and an HREF which points to an object
specifying a set of semantics for a particular set of
link relation names.
The format of the specification object can be defined at a 
later date.
> What is really being proposed here is a style sheet for linking
> semantics.  
Sort of, but not really.  My proposal is not trying to solve 
the problem of telling a user agent *how* to interpret typed 
links -- that problem is left to user agent implementors --
it's only trying to solve the problem of telling a user agent 
*when* to interpret typed links that they already know how
to deal with.
--Joe English
  joe@trystero.art.com