前々からいちいちあのクソながったらしい evaluate を書くのがだるかったのでちゃんと関数はさむようにした。 大きなバグがあります。詳細はXPath, $X function, NSResolverに書きました。以下のコードは非推奨です。 $X = function (exp, context) { if (!context) context = document; var result = document.evaluate(exp, context, null, XPathResult.ANY_TYPE, null); switch (result.resultType) { case XPathResult.STRING_TYPE : return result.stringValue; case XPathResult.NUMBER_TYPE : return result.n