#fragment as :name

Al Gilman (asgilman@access.digex.net)
Sat, 28 Feb 1998 11:40:08 -0500 (EST)


From: Al Gilman <asgilman@access.digex.net>
Message-Id: <199802281640.LAA01526@access4.digex.net>
To: uri@Bunyip.Com, urn-ietf@Bunyip.Com
Date: Sat, 28 Feb 1998 11:40:08 -0500 (EST)
Subject: #fragment as :name


This is an observation, not a proposal.

It appears to me that the established uses of #fragment with HTML
documents, and the proposed extensions with XML documents (which
are designed to be compatible with the HTML-driven uses) are all
cases where what follows the # character is a name reference.

It is a reference to a name defined in a namespace which is in
turn defined by the object identified in the preceding name.
It is a "classic case of namespace descent."  The spelling might
as easing be scheme:stuff:fragment where stuff comprises the
<site> and <path> parts in conventional URL usage.

It is the fact that ID and NAME are both attribute designators
from a common namespace that lets Lynx treat IDs in HTML in a
manner "homologous to #name" and extend the scope of #name to
include #[name | id] with no damage whatsoever.

If one adopts a namespace mindset, the existing use of #fragment
is "Interpret 'fragment' by the [y'know...] customary usage for
the [type of] the object found under the preceeding URI."

In this usage, the object is free to define its own interior 
namespace.  This total independence of the name scheme used at
this level from any schemes used in exterior contexts is what
the URN community may not be anticipating.

In the schemes that the URN community is contemplating, this is
probably not true.  Once one enters a namespace discipline, one
may not expect interior namespaces to be randomly declared by
the values found for exterior names.

Al Gilman