-
for each element type defined
-
look for tokens of these elements
-
check whether they have the properties necessary
-
check whether they are in the relations to other elements specified
-
markup those sets of elements that match all the requirements
|
-
for each of the value constraints defined
-
begin from the type of element which are fewest
-
for each of the elements found, check the value constraints in an order
that starts with those properties which are least likely fulfilled, delete
elements from the list whenever they do not match a criterion
-
continue with the next least frequent type of elements until all value
constraints of the elements have been checked
-
for all of the constraints involving two elements
-
check the constraints in an order that starts with those which are least
likely fulfilled and keep only those elements which match all of the relation
criteria
-
for all of the logical constraints
-
again check the constraints in an order that starts with those which are
least likely fulfilled and keep only those element pairs for which all
of the logical constraints are true
-
markup those sets of elements that match the requirements
This procedure aims at identifying elements that do not match as early
as possible in order to reduce the number of checks. |