We are talking about two different things.  You are talking about the uniqueness of the value of an attribute of type ID, I am talking about re-declaring an element in the DTD.  The two things are not related.
----- Original Message -----
From: Richard Toren
To: 'general@xml.apache.org'
Sent: Tuesday, January 23, 2001 4:28 AM
Subject: RE: how to quickly find an element (by attribute) in a DOM? any hints appeciated

Tom,
   This is from http://www.w3.org/TR/REC-xml#sec-attribute-types .  The xslt specification also calls for using an unique id. 
 
------------------------

Validity constraint: ID

Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them.

Validity constraint: One ID per Element Type

No element type may have more than one ID attribute specified.

Validity constraint: ID Attribute Default

An ID attribute must have a declared default of #IMPLIED or #REQUIRED.

------------------------

-----Original Message-----
From: Thomas B. Passin [mailto:tpassin@mitretek.org]
Sent: Monday, January 22, 2001 8:28 PM
To: general@xml.apache.org
Subject: Re: how to quickly find an element (by attribute) in a DOM? any hints appeciated

Actually, it's not an error to declare an element twice. The first declaration wins and the later one(s) are ignored.  However, in this case it may not give the intended result.
 
Tom Passin
 
Richard Toren wrote -
To: 'general@xml.apache.org'
Sent: Sunday, January 21, 2001 5:32 AM
Subject: RE: how to quickly find an element (by attribute) in a DOM? any hints appeciated

Hello,
   I looked at your DTD with the help of xmlspy and it was brought to my attention that  you have the <!ELEMENT event ..... > defined twice.  This is probably unintentional, but definitely is an error.  Secondly, I think that a valid ID must start with an alpha and that no two nodes share the same id.  Now to your question: