Re: [xsl] E [Xerces] Attribute value "1" of type ID must be an NCName when namespaces are enabled.

Subject: Re: [xsl] E [Xerces] Attribute value "1" of type ID must be an NCName when namespaces are enabled.
From: Eliot Kimber <ekimber@xxxxxxxxxxxx>
Date: Thu, 13 Aug 2009 08:33:07 -0500
On 8/13/09 6:18 AM, "Michael Kay" <mike@xxxxxxxxxxxx> wrote:

> 
> The message means exactly what it says. For bizarre historical reasons that
> few people remember, XML requires that an attribute value declared as being
> of type ID has the same syntax as an XML name - so it cannot start with a
> digit.

Looking at _The SGML Handbook_, I'm not finding a specific discussion of why
ID attributes are names other than a simple statement that IDs are names,
semantically. 

I don't remember ever discussing this aspect of SGML design with Charles
although I can imagine his thinking was that IDs are names and therefore
should conform to name lexical rules. I also suspect that Charles'
assumption, or in fact desire, was that element IDs be human-meaningful
names, rather than opaque identifiers used only by processors (e.g.,
pointers and addresses). Thus disallowing values consisting only of digits
would encourage the use of meaningful ID values. Maybe.

Cheers,

Eliot
----
Eliot Kimber | Senior Solutions Architect | Really Strategies, Inc.
email:  ekimber@xxxxxxxxxxxx <mailto:ekimber@xxxxxxxxxxxx>
office: 610.631.6770 | cell: 512.554.9368
2570 Boulevard of the Generals | Suite 213 | Audubon, PA 19403
www.reallysi.com <http://www.reallysi.com>  | http://blog.reallysi.com
<http://blog.reallysi.com> | www.rsuitecms.com <http://www.rsuitecms.com> 

Current Thread