Disponibilidad de los atributos

Se puede utilizar un conjunto de reglas de proceso para más de una versión de tipo de reglas dinámicas. Por ejemplo, se puede utilizar el mismo conjunto de reglas de validación para muchas versiones de un tipo de pruebas. En tal caso, el conjunto de reglas de validación tendrá que factorizar en su lógica los cambios estructurales entre versiones diferentes.

Por ejemplo, la versión 1 de un tipo de pruebas puede tener "authorizedExpense" y "actualExpense" como dos atributos. En la versión 2, el atributo "actualExpense" puede haberse sustituido por un tipo de pruebas hijo denominado "Expense". En este caso, el total de gastos reales se debe calcular sumando el valor de los gastos de todos los registros hijo de tipo "Expense". Si existe una validación que compruebe el importe de gastos real frente al importe de gastos autorizado, y se utiliza el mismo conjunto de reglas de validación para la versión 1 y la versión 2, la lógica de validación deberá comprobar en primer lugar si existe el atributo "actualExpense". Esto es necesario debido a que el conjunto de reglas contiene los atributos de reglas correspondientes a la versión 1 y 2.

Se puede utilizar la operación isAttributeAvailable() para comprobar si un atributo concreto está disponible en un registro de pruebas concreto. Por lo tanto, para este ejemplo, el conjunto de reglas de validación puede comprobar si el atributo "actualExpense" está disponible en el registro que se está validando. Si no es así, la lógica puede calcular los gastos reales sumando los gastos de los registros hijo "Expense".