If these were being designed today, we probably would try to avoid gluing together the attribute name, type, and default information in a package with the element type in this way. It's easy to imagine a situation where we have a pool of attribute names, types, and defaults, and then we assign these to particular elements, but that's not what we inherited from SGML
One way in which SGML is ahead of XML is that it has recently added a facility where you can declare an attribute and say it can attach to all the element types in the document. This would be useful in all sorts of situations, and maybe we should consider adding it to some future version of XML.
Copyright © 1998, Tim Bray. All rights reserved.