<?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::*)
[
<!-- no namespace nodes but the default on alternate elements -->
ancestor-or-self::bar:Something and
(self::text() or
(namespace-uri() != "") or
((name() = "") and
((count(ancestor-or-self::node()) mod 2) = 1)))
]
</XPath>