property of a component is not selected, a failure of the component causes its parent to fail. If the parent is also non-optional, its own parent fails, and so forth.
For example, suppose that a
Parser
contains a
Group
, and the
Group
contains a
Marker
. All the components are non-optional. If the
Marker
does not exist in the source document, the
Marker
fails. This causes the
Group
to fail, which in turn causes the
Parser
to fail.
Pictorially, we can represent these relationships in the following way: