Safari、ChromeなどのWebKitブラウザは、標準のデバッギングツールも含めほぼオールマイティな機能を備えています。その機能の一つにXMLのネスト表示というものがあり、ブラウザでXMLにアクセスした際にデバッギングツール内で折りたたみ表示してくれるという、ごく一部の人間にだけうれしい機能をもっています。
これはたとえばXMLを返却するURLを指定し、帰ってくる値を確認しつつ作業をすすめるという場面で重宝する機能です。WEBサービスの中には、XMLで値を取得できるというものがかなりありますので、値だけ取得してローカルで表示するクライアントを作成する際に便利です。
先日まさにそういった使い方をしていたのですが、ブラウザで確認したノード名をクライアント側で取得する際に、どうやっても取得できないという現象に見舞われました。ブラウザ上ではそのノード名で値が取れています。でもローカルではその値を指定しても取れない。この現象に何度も頭をひねりました。
そうして発見したのは、WebKit系のブラウザがノード名を勝手に小文字に変換して表示しているということです。
XMLでは、大文字小文字は勿論区別します。たとえば<node>という値と<Node>という値は異なりますので、<Node>という名前でセットされた値に、<node>でアクセスしようとしても、そんな名前は知らないと言われます。
ひたすら<node>でのアクセスを試みて失敗したあげく、WEBサービスの管理者に問い合わせるところでした。
ゆるいHTML(<BR>とかですね)を処理・表示できるように小文字に統一しているのかもしれませんが、ひどい落とし穴もあったものです。