Re: <BASE> processing by browsers

Murray Altheim (murray.altheim@nttc.edu)
Mon, 1 May 1995 10:58:14 -0400


Message-Id: <v02110106abcaa0c971d9@[192.188.119.220]>
Date: Mon, 1 May 1995 10:58:14 -0400
To: www-html@www10.w3.org
From: murray.altheim@nttc.edu (Murray Altheim)
Subject: Re: <BASE> processing by browsers
Cc: GSTANIAK@golem.umcs.lublin.pl, dsr@hplb.hpl.hp.com

Grzesiek Staniak <gstaniak@golem.umcs.lublin.pl> writes:
>Just a couple of thoughts as concerns the <BASE> tag.
>
>I use the tag arbitrarily, i.e. do not always make it include the
>actual URL of the document that contains the tag - sometimes the tag
>points to a directory a level or two above the document, which allows
>me to easily refer to other documents in neighbouring directories,
>like this:
>
>(for a URL like "http://my.www.server/foo/bar/my_document.html")
>
>         <BASE HREF="http://my.www.server/foo">
>         ...
>         <A HREF="/bara/another_document.html">
>         <A HREF="/barb/yet_another.html">
>         <A HREF="/barc/and_one_more.html">
>
[...]
>My point is that this is a mistake on the side of browser developers.
>There's nothing in the HTML 3.0 specs (or HTML 2.0 for that matter)
>that would prevent the author from aribtrary use of the tag. If HTML
>3.0 mentions that the default BASE is the URL of the document itself,
>then talking of defaults only makes sense if you're allowed to
>override them, doesn't it.
[...]

While the HTML spec doesn't explicitly state all possible inclusions
and exceptions, it of course doesn't mean that all implementations of
possible attribute values are necessarily correct. As the language is
itself a moving target at this point, it's also hazardous to use tags
whose non-implementation on older browsers would have such a profound
effect as to disable links.

I too await full implementation of the <BASE> element for different
reasons: remote class dereferencing of objects. I brought up earlier
the idea of using the ID attribute within the <BASE> tag, such as

   <BASE ID="images" HREF="http://my.www.server/foo">

The new draft example no longer describes using the id attribute as
named scope, showing <BASE> only to designate the base document.
An earlier DTD had this note

   <BASE id=images "http://foo.com/images">
   ...
   <IMG SRC="bar.gif" base=images>

as example. The current draft has id as #IMPLIED, with href #REQUIRED.
I'm assuming the lack of "HREF=" in the earlier example version (as
above) was a mistake, but I'm not sure I understand the "implied"
status. If absent, any relative URI references within the current
document will attach the HREF base given in the document header's
<BASE>. This is what is meant by "implied"?

If multiple <BASE>'s are specified in the header, does the above
example's use of "id=images" (with the addition of the "HREF=") still
show a recommended usage?

I brought this up with Dave Raggett and he replied "The BASE element
is really only concerned with dereferencing of relative URIs" which
is how the HTML 3.0 draft is currently presented. If multiple bases
were named using the id attribute as above, it would allow for more
flexibility and modularity in document design, but would require the
server to cache all <BASE> references in order to build the complete
URL references.

Any thoughts on this from the group?

Murray

_________________________________________
      Murray M. Altheim, Information Systems Analyst
      National Technology Transfer Center, Wheeling, West Virginia
      email:  murray.altheim@nttc.edu
      www:    http://ogopogo.nttc.edu/people/maltheim/maltheim.html