The Working Group (in particular James Clark) labored mightily over these definitions, and I think that we hit the mark very well. Unicode itself contains a set of properties that are supposed to define what a "letter" is, and Java has used these to make rules as to what can be an "identifier". I think that the XML rules provide a much more reasonable and less surprising notion of what it's reasonable to put in a name.
Back-link to specCopyright © 1998, Tim Bray. All rights reserved.