XSLTでナビゲーションリンク表示

link要素とCSSのみでナビゲーションを作るで、CSSでlink要素によるナビゲーションを可視化する方法を知りました。

便利そうなのですが、「link要素をCSSで表示させると、a要素と同様のアンカーとして表示される」という実装をしているのは今のところFirefox等のGecko搭載ブラウザだけのようであり、HTMLの仕様上も必ずそのように実装しなければならないわけではないので、汎用的な方法とは言い難いのが惜しいところ。

そこで、

という条件の上で、より汎用的な解決方法はないかと考えてみて、「XSLTを使ってlink要素の内容をリストとして反映できるのでは」ということを思いつきました。

で久しぶりにXSLTを書いてみまして、できたのが以下です。

ごく簡単なものですが、取り敢えずFirefox 1.5, IE6, Opera 9で表示できるようになりました。XSLT機能を備えたXML対応ブラウザであれば動作を期待できそうです。

もっとも、クライアントサイドでの変換にこだわることもないわけで、サーバサイドで変換したり、静的ファイルならあらかじめ変換しておいたファイルを使うという方法もありではないかと思います。