<?xml version=“1.0”?> <XPath xmlns:bar=“example.org/bar” xmlns:baz=“example.org/baz” xmlns:foo=“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>