no NMTOKEN #REQUIRED
id ID #REQUIRED>
-<!ELEMENT attributes EMPTY>
-<!ATTLIST attributes
- class (coercion|elimProp|elimCProp|elimSet|elimType|record|projection) #IMPLIED
- generated (true|false) #IMPLIED>
+<!ELEMENT attributes ((class,generated?)|(generated,class?))?>
+
+<!ELEMENT generated EMPTY>
+
+<!-- the fields are allowed only when @value = "record"
+ the SORT is allowed only when @value = "elim" -->
+<!ELEMENT class (field*|SORT)>
+<!ATTLIST class
+ value (coercion|elim|record|projection) #REQUIRED>
<!-- Elements used in CIC objects, which are not terms: -->