In the course of reviewing the P5 chapter on tag docs (TD) to document the new class usage, I hit my head on the following 4 uncertainties. Comments welcomed: 1. Are all classes declared upfront? In other words, can a module declare a new class without there being at least a null definition for it in the infrastructure module? If this is the case (as I sincerely hope) references throughout the text of TD to modules as things which can define "elements, attributes, classes, and macros" need attention. 2. Are the things defined by the element currently called "macroSpec" to be referred to in the text as "patterns" or as "macros"? At present they appear to be referred to throughout TD as "patterns". If this is the case then the spec element should be renamed to "patternSpec". If it is not, then the references should be changed (again). (In ST, however, we consistently talk about them as "macros", probably because we also talk about "patterns" in the RelaxNG sense) 3. Aside from the naming convention, there are two ways in which an attribute class distinguishes itself from a model class. (a) it has a child (b) its @type attribute says what it is. Do we need to maintain both of these? If we do, should an ODD processor raise an error when it finds an inside a or a which does not contain an ? If we don't, which one should go? 4. What did we decide to do about sequence? I have written the following in my revision of TD:

The sequence in which members of a class appear in a content model when one of the sequence options is used is dependent on the ODD processor in use. It will always be the same sequence for a given class reference, but is not in principle user-accessible.