p.s. The evalute() method would still need a namespace prefix resolver
parameter and the behavior of a range object that exposed the CharacterData
interface would not be unlike the current behavior of an AttributeNode
object when the attribute contains entities.