A StringHashPrecondition compares a characteristic in the form of a set of integer hash codes
against a constant hash code; the precondition is satisfied if the constant hash code is present
in the set.
It is used in two situations:
(a) for a predicate pattern in the form *[EXP = 'constant'] where the constant hash code is the
hash code of the collation key of the constant string, and the characteristic is the set of hash
codes corresponding to the collation keys of the strings selected by evaluating EXP.
(b) for a predicate pattern in the form *[contains(EXP, ' constant ')], typically encountered
in DITA stylesheets, where the constant hash code is the hash code of the collation key of the token
being matched (the constant with whitespace trimmed), and the characteristic is the set of hash codes
corresponding to the collation keys of the tokens found by evaluating EXP and splitting on whitespace
boundaries.