Node is an Element OR Node is in cache
Resolve source node IF in cache
Returned value is false
Call directive.setup()
Update state
IF present in returned value
Set forced eligibility IF present in returned value
Node has a matching attribute OR eligibility has been forced to true
during setup
Node has NO matching attributes OR eligibility has been forced to false
during setup
Returned value has final
set to true
Call directive.execute()
Notify any misuses IF applicable (e.g. conflicts, duplicates, etc.)
Replace current node reference IF present in returned value
Update state
IF present in returned value
Update context
IF present in returned value
Recursively call rendering on node children
Call directive.cleanup()
Node is an Element OR Node is in cache
Resolve source node IF in cache
Returned value is false
Call directive.setup()
Update state
IF present in returned value
Set forced eligibility IF present in returned value
Node has a matching attribute OR eligibility has been forced to true
during setup
Node has NO matching attributes OR eligibility has been forced to false
during setup
Returned value has final
set to true
Call directive.execute()
Notify any misuses IF applicable (e.g. conflicts, duplicates, etc.)
Replace current node reference IF present in returned value
Update state
IF present in returned value
Update context
IF present in returned value
Recursively call rendering on node children
Call directive.cleanup()