あと万一誤解を与えてしまっていると申し訳ないので、一応確認しておくと、
(C++風に書くと)
namespace ns1 {
  int foo;
  namespace ns2 {
    namespace ns3 {
      int foo;
      foo; // これは素直にns1::ns2::ns3::foo
    }
    foo; // ns2にfooはないので、これはns1::foo
    ns3::foo; // これはns1::ns2::ns3::foo
  }
}
というように、「指定階層から上方向にたどり、いちばん初めに見つかったもの」を検索結果としたいのです。