Where feasible, it is much cleaner to add data to the DTD for allowed attribute values.
We deliberately left many items open-ended, to allow 3rd parties to add attribute values and not have to muck with the DTD. For example:
<!ATTLIST quarterContext alt NMTOKENS #IMPLIED >
That means that we have to have a separate test. However, we can do that test using data from the same kind of annotations we have now in the DTD, which is much cleaner, and don't affect 3rd parties. For example, we can add:
<!--@VALUES:variant short -->
We can have the values be much tighter; those that we actually use in our data.
This wouldn't replace all of the <attributeValues ...> elements (see ), but can replace all of the simple enumerations.