Re: IDs - make them case sensitive

 
> From: Deborah Aleyne Lapeyre <dlapeyre@mulberrytech.com>

> TIM BRAY: Why, historically, was the value of an ID restricted to
Name?
> 
> 
> I eagerly await this answer.  This has been a pain in the tail in
designing
> applications where there are existing naming conventions that don't
match
> SGML limitations.  If a thing has always had a unique identifier,
peolple
> tend to want to use the old one even when the system changes.  Why
WAS it
> done?
 
Because people use the Reference Concrete Syntax.  

This really uses only "minimum data" characters for naming.
Goldfarb p380 says "Minimum literals are used for information
that is expected to be meaningful for all concrete syntaxes,
character sets, and system environments."

Now we have the balmy light of Unicode shining on us all,
we can take a very different approach. 

I am certainly in favour of having as free rules to naming
as possible.  We should aim that a name in a valid document
can be found with a very simple WF check like
 (isLetter(toUpper(char)) || isDigit(char) || isXMLpunc(char))
or 
 (isntSEPCHAR(char) && isntXMLdelim(char))

However the issue of preventing unpleasant
interaction with existing software languages may be a
reason to be very conservative with adding more ISO646 
symbols to delimiters.  

For example, I often use IDs as filenames when I split up
a large document into fragment files.  If "/" is allowed,
then I have to map it to some free character, which is
an extra tedious step.  The less IDs and NAMES have to be 
delimited when used in programs text, the better.


Rick Jelliffe

Received on Friday, 27 June 1997 14:42:31 UTC