<XPath xmlns:ietf="http://www.ietf.org" > (//.|//@*|//namespace::*) [ self::ietf:e1 or (parent::ietf:e1 and not(self::text() or self::e2)) or count(id("E3")|ancestor-or-self::node()) = count(ancestor-or-self::node()) ] </XPath>