## select any "element" with no kids and no text /descendant-or-self::node()[ not(./*) and not(self::text()) ]