Is this invalid?

Richard L. Goerwitz richard at
Tue Feb 2 16:42:42 GMT 1999

Richard Tobin wrote:
> Consider:
>  <!DOCTYPE foo [
>  <!ELEMENT foo ANY>
>  <!ATTLIST foo a NMTOKEN "x">
>  <!ATTLIST foo a NMTOKEN "*">
>  ]>
>  <foo/>

This is valid.  Duplicate ATTLIST decls are okay.  If a particular attribute
such as "a"
is declared more than once, the first declaration holds.  Note that <foo/>
elicits a warning
from some validators, because it uses the special empty-tag syntax, without
having been ex-
plicitly declared EMPTY (one of those "for interoperability" constraints).

If you have questions about such things, often you can just run some sample
text through
our (STG's) validator,  Its
output is pretty
much self-explanatory.

Here's what it says when I paste in the above document instance:


Validation Results for [user-supplied text]

A list of warning messages follows:

line 4, [user-supplied text]: 
    warning (652): element has more than one attlist declaration: foo 
line 4, [user-supplied text]: 
    warning (581): discarding duplicate attribute definition: a 
line 6, [user-supplied text]: 
    warning (1106): empty-tag syntax used for element not declared with
EMPTY content model: foo 


Document validates OK.



Richard Goerwitz
PGP key fingerprint:    C1 3E F4 23 7C 33 51 8D  3B 88 53 57 56 0D 38 A0
For more info (mail, phone, fax no.):  finger richard at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list