<?xml version="1.0"?>
<XPath xmlns:bar="http://example.org/bar" xmlns:baz="http://example.org/baz" xmlns:foo="http://example.org/foo" xml:lang="en-ie">
(//. | //@* | //namespace::*)
[
<!-- only text, elements, or directly-used namespace nodes but not foo:Something -->
ancestor-or-self::bar:Something and
not (self::foo:Something) and
(self::text() or
(namespace-uri() != "") or
(string(self::node()) = namespace-uri(parent::node())))
]
</XPath>