All scopes in IAML are instances of Scope, and a Scope may contain another Scope through a hierarchy of containment. A Scope may directly contain any number of Scopes. Every Scope will contain the pre-render lifecycle Events onAccess (through Accessible) and onInit.
When a Scope is rendered, the lifecycle events for that Scope must be executed in the following order. If a failure occurs during this process, the current lifecycle execution process is cancelled and the failure handler for the current Scope is executed. If an ECARule is executed which must redirect the user to another Frame, the current lifecycle execution process is cancelled.
An outgoing ECARule
from a particular Scope
with the name
"fail
" is defined as a failure handler for the given scope.
If an error occurs during the execution of the given
Scope -- for example, an
Operation fails -- then the failure handler
for that Scope
is executed according to the execution semantics of the
ECARule.
If the current Scope does not define a failure handler, then the failure handler of the containing Scope is used as the failure handler. If an exception is not caught through the containment hierarchy of Scopes, then the exception is caught by the runtime environment and the web application will display a runtime error.
[Scope.html]
true
if the current element has been generated.