(Logical) Interface for substitution strategies. (It happens to be implemented as a Java abstract class to allow future additions to be made without breaking backwards compatibility.)
Usage: When {@link Digester#setSubstitutor} is set, Digester
calls the methods in this interface to create substitute values which will be passed into the Rule implementations. Of course, it is perfectly acceptable for implementations not to make substitutions and simply return the inputs.
Different strategies are supported for attributes and body text.
@since 1.6