Martin said:
The subject says it all: Is there any technical reason why ID
attributes are required to match the Name production?
That detail is probably inherited from SGML, and might even go back to
GML. If you want to know whether there was any technical reason THEY did
it that way, you're probably going to need to either find the people who
were there at the time or go though old conference papers with -- as
Walt Kelley put it -- a geiger counter and a team of gophers to try to
unearth the relevant discussion.
The Annotated XML Specification, alas, doesn't answer this particular
question, though it does discuss what IDs are good for. (Standard
pointer:
http://www.xml.com/axml/testaxml.htm)
I suspect the answers are wholly nontechnical and boil down to "Why
not", "keep it simple", and "this eases interoperation with existing
systems."
Sometimes software engineering trumps computer science, and --
especially when trying to design a spec in less than five years -- you
just need to accept that good enough really is good enough.