The FDD Interchange (FDDI) Schema. Attributes common to all elements. Any element can have an optional "id" attribute. The extension mechanism allows us to place arbitrary attributes on any element, but they must come from a different namespace. Programs are a way to aggregate Projects into a hierarchy. A program may contain either some number of other programs or some number of projects but not both. In additional it may contain an optional progress element and any number of extension elements. A project is some number of aspects, where each aspect may be of a different type. For example: UI, PD and SI aspects. It may also contain an optional progress element and any number of extension elements. Aspects are a "Feature Breakdown Structure" (FBS), which are a two-level decomposed list of features and optionally the non-standard milestone definitions to be used. It may also contain an optional progress element and any number of extension elements. An aspect description is the set of milestone definitions and the names of key concepts: subject area, business activity, feature, milestone. A milestone is defined by a name and effort, and may optionally contain any number of extension elements. This is the top level of the FBS, named "Subject Area" in a standard project. This is the second level in the FBS hierarchy, named "Business Activity" in a standard project. A feature is some small piece of client valued function. Notes may contain the initials of who wrote them, and the date entered. In addition they may contain extension elements in a mixed content model and the usual base attributes. A milestone has a planned date, an optional actual date, and maybe a derived status as well. It may optionally contain any number of extension elements as well. An enumerated type for "status" attributes, used on milestones and progress elements. A snapshot of the progress of "something": program, project, aspect, subject, activity, or feature.