XPathわからん

XmlNode#SelectNodesではまっている。"title"で引っかからないのに"*[name()='title']"でマッチするなんてことがあるのか?(というか、あるんだが)
理解不能

→あー、namespaceまわり?→そうみたい

<?xml version="1.0"?>
<hoge xmlns="http://d.hatena.ne.jp/gnarl/">
  <hage><fuga /></hgae>
  <hage />
</hoge>
XmlDocument d=new XmlDocument();
d.LoadXml( xml );
d.SelectNodes("//hoge") // => nothing.

XmlNamespaceManager m=new XmlNameSpaceManager(d.NameTable);
m.AddNamespace("x","http://d.hatena.ne.jp/gnarl/");
d.SelectNodes("//x:hoge",m) // =>hit.

……うぜえ。これはXPathの仕様?それともゲイツのしわざ?