Your answer seems to be in 3.3 of the XML-lang spec:
When more than one AttlistDecl is provided for a given element type, the
contents of all those provided are merged. When more than one definition is
provided for the same attribute of a given element type, the first
declaration is binding and later declarations are ignored. For
interoperability, writers of DTDs may choose to provide at most one
attribute-list declaration for a given element type, and at most one
attribute definition for a given attribute name. An XML processor may, at
user option, issue a warning when more than one attribute-list declar ation
is provided for a given element type, or more than one attribute definition
for a given attribute, but this is not an error.