Internal text entities cannot be matched because the ISO 8879 standard mandates that they be indistinguishable from ordinary text. This is because the replacement text of text entities can contain markup characters that could straddle element boundaries.
In practice this is not a serious restriction, since entities which are used to represent special characters should always be coded as SDATA entities. Annex D.4 of ISO 8879 defines many such entities.