This abstract element defines an equivalence class over the elements which occur freely at the top level of schemas. These are: datatype, type, element, attributeGroup, group, notation All of their types are based on the "annotated" type by extension. A utility type, not for public use element @name attribute @name complexType|simpleType @name group @name attributeGroup @name notation @name .//key|.//unique|.//keyref @name allows 'unbounded', so integer won't do Will be restricted to required or forbidden A utility type, not for public use A utility type, not for public use #all or (possibly empty) subset of {equivClass, extension, restriction} A utility type, not for public use #all or (possibly empty) subset of {extension, restriction} A utility type, not for public use ##any | ##other | list of {uri, ##targetNamespace, ##local} A utility type, not for public use An XPath expression A utility type, not for public use A VERY permissive definition, probably not even right A public identifier, per ISO 8879 A utility type, not for public use