Re: IDs - make them case sensitive

At 2:41 PM 6/27/97, B. Tommie Usdin wrote:
>Paul Prescod wrote:
>>An ID is a unique NAME of a particular
>>element, just as a GI is the NAME of an element type and entity names
>>NAME entities.
>
>While this is good prose I'm not at all sure it makes systems sense.
>Perhaps the question is: "should the limitations on the content of the
>names of element types be the same as the limitation on the content of the
>names of particular elements?".

SGML names--of elements, element types, and entities, were historically
intended to be in a local-to-the-document name space with well-controlled,
easy to understand lexical restrictions.  Historically, only entities were
recognized as possibly having/needing an "external" name with much less
restrictive lexical forms, whence the advent of external identifiers.
The feeling was (and probably justifiably so) that the possible external
namespaces were sufficiently varied that their union included almost every
possible character string, and so for entities we got both internal and
external names linked at the declaration.

Should we allow practically anything as the internal name of an element,
thereby allowing it to be also the external name?  By the same token, should
we allow practically anything as the internal name of an external entity,
thereby allowing the reference to serve as its own declaration?  Or should
we treat them nonuniformly and do one one way and one the other?

(For comparison, note that in C one associates an internal name with an
external name/identifier (when opening a file) and then uses the internal
name, but in the C preprocessor we use the external name as the internal
name.  Interesting "current practice".)

Dave Peterson
SGMLWorks!

davep@acm.org

Received on Saturday, 28 June 1997 12:01:06 UTC