<?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 -->
              ancestor-or-self::bar:Something  and
              ((name() != "bar") or parent::bar:Something)  and
              ((name() != "foo") or parent::foo:Something)  and
              ((name() != "baz") or parent::baz:Something)  and
              ((name() != "") or self::text())
    ]
</XPath>