Many attribute names have the same format everywhere (some contents may choose to place further restrictions). Declare those global rules here. Attributes which rely on these rules will have no `stringtype ref' Currently: name, qname, ref, size, alignment, value, scoped, loc A unique identifier for the entity denoted by this element. For instance, a "variable-ref" and a "variable" denoting the same C variable will have the same unique value for their ref attribute. The name of a nesC component or interface. This is guaranteed to be unique, so serves as an identifier. The name of generic component instantiations represents their instantiation "path", e.g., generic module Foo instantiated in configuration Bar is Bar.Foo, and generic module Foo instantiated in generic configuration Baz, itself instantiated in configuration Main is Main.Baz.Foo Present on entities (e.g., variables) that are non-global A source code location.