Re: Is this use of BASE kosher?

Scott E. Preece (preece@predator.urbana.mcd.mot.com)
Fri, 4 Aug 95 17:58:44 EDT

From: "Daniel W. Connolly" <connolly@beach.w3.org>

| These markup constructs refer to head anchors either directly by means
| of an absolute URI, or indirectly by means of a relative URI, which
| must be combined with the base URI as in [RELURL] to determine the
| address of the head anchor. The markup may also include fragment
| identifiers, separeted from the URI by a '#' character.

---
               ^^^^^^^^^ separated

| ... | Activation of Hyperlinks | | An HTML user agent allows the user to navigate the content of the | document and request activation of hyperlinks denoted by A | elements. HTML user agents should also allow activation of LINK | element hyperlinks. | | To activate a link, the user agent obtains a representation of the | resource identified in the address of the head anchor. If the | representation is another HTML document, navigation may begin again | with this new document. The base URI for navigation is taken from the | head anchor by default; however, any BASE tag in the destination | document overrides this default. The process of obtaining the | destination document may also override the base URI, as in the case of | an HTTP `URI:' header or redirection transaction.

---

I think "The base URI for navigation is taken" should probably be something like "The base URI for navigation in the new document is taken", to make it clear that this doesn't happen until you have gotten the new document (that is, that the BASE in the destination has no effect on the act of locating the destination document itself).

---
| ...
| Fragment Identifiers
| 
| Any characters following a `#' character in a hypertext address
| constitute a fragment identifier. As a degenerate case, an address of
| the form `#fragment' refers to an anchor in the same document.
---

I would delete the last sentence in favor of the addition below, to eliminate any possible confusion about the "degenerate case" phrase.

---
| 
| The meaning of fragment identifiers depends on the media type of the
| representation of the anchor's resource. For `text/html'
| representations, it refers to the A element with a NAME attribute
| whose value is the same as the fragment identifier. The matching is
| case sensitive. The document should have exactly one such element. The
| user agent should indicate the anchor element, for example by
| scrolling to and/or highlighting the phrase.
| 
| For example, if the base URI is `http://host/x/y.html' and the user
| activated the link denoted by the following markup:
| 
| <p> See: <a href="app1.html#bananas">appendix 1</a>
| for more detail on bananas.
| 
| Then the user agent accesses the resource identified by
| `http://host/x/app1.html'. Assuming the resource is represented using
| the `text/html' media type, the user agent must locate the A element
| whose NAME attribute is `bananas' and begin navigation there.
---

Add:

If a hypertext address consists solely of a `#' character and a following fragment identifier, that address refers to an A element in the same document, whose NAME attribute is the same as the fragment identifier.

scott

--
scott preece
motorola/mcg urbana design center	1101 e. university, urbana, il   61801
phone:	217-384-8589			  fax:	217-384-8550
internet mail:	preece@urbana.mcd.mot.com