<?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>