1. A computer-implemented method comprising: storing elements that describe element instances that can occur in a collection of hierarchical data objects; wherein said collection of hierarchical data objects includes a hierarchical data object that contains particular element instances; wherein for each particular element instance of said particular element instances, a particular element of said elements that describes said particular element instance defines one or more constraints, each constraint of said one or more contraints being active or inactive at a particular point in time for said each particular element instance; and at a first point in time, validating the hierarchical data object against the elements, wherein validating the hierarchical data object includes: for a certain element instance of said particular element instances: from among constraints defined by a certain element of said elements that describes said certain element instance, determining a first set of one or more constraints that are active for said certain element instance; and in response to determining the first set of one or more constraints that are active, validating said certain element instance based on the first set of one or more constraints.