コレは何?
アプリケーションをダウンロードすると readme.txt あるいは readme.html(最初に読む文章)なんかが必ず付いてきますよね。
ちょっとコレを書かなきゃいけないことがあったんだけども、どうやって書くべ?と思っていろいろググってみても書き方なんかはバラバラで、じゃ、この際XML+XSLTで書いてみるべと思って、XSLスタイルシートの勉強がてらに少し書いてみました。

ライセンスや作者ウェブサイトなどのメタデータは表でまとめました。あと、配布物のフォルダ構造1 や更新管理なんかも書きやすいようにしてます。
まぁ、言葉でグダグダ言うより実際に見た方が早いと思うので、以下で説明がてらにデモっておきます。
- デモ
- ReadMe for ReadMe Writer
- ダウンロード
- ReadMe Writer (12.3KB)
- ライセンス
- GNU GPL v2
ソースと実際の変換結果をつきあわせてみると、だいたいどういう風に変換しているかわかると思います。
Windows IEはどうやらXMLファイルのソースコードを表示できないようなので、ソースコードをここにおいておきます。
で、使い方は、まぁXMLファイルに内容を書くだけ、説明はデモの方に書いてます。ユーザー側は、XMLファイルを開けばウェブブラウザ2 内蔵のXMLパーサー(MSXMLとか)でXHTMLファイルに変換して表示します。img フォルダと style フォルダは隠し属性に設定しておくと見た感じスマートです。
一応、なにがメリットかまとめてみました。
- 本文以外の見栄えとか考えずに書ける
- フォルダ構造とかをビジュアルで表しやすい
- 更新履歴の管理がラク
問題点
いかんせんXML習い立てなのでいろいろ問題があります…もし、解決策がありましたら教えてください。
- Opera9 では title要素の<xsl:value-of select=”head/name”/>が出力されません、なんでだろ。
- ファイル構造を再現する部分の処理が非常にダサくて(同じことをコピペして繰り返している)現在では3階層分までしか表示できません。うまく端的に再帰的に処理できるように書ければいいんだけども…
- インライン要素が使えません (致命的) 。正確に言うとタグの中にあるタグの表示が出来ません。
やりたいこと
- 国際化。コンテントネゴシエーション的なことがしたいです。閲覧者が英語使用者だったら、英語で記述されたstyle.en.xslで変換するとか。てか、XSLってそういういろんな変換が出来るのが美味しいとこなんだから、これをやらないとXMLでわざわざ作った意味がないんだけども。
- PHPからフォームに沿って入力するとreadme.xmlを生成する「ReadMe Generator」みたいなサービスもやりたい。まぁ、その際は出力フォーマットを txt, xml, xhtml といろいろ選べるようにしよう。
四方山話
ともかくXSLについては全然知らなかったので、以下のサイトとオライリーの「入門 XML」を見ながらチマチマ作ってたのですが、html要素にxml名前空間を含めてしまっていて、リンクアンカーが機能しなくなっていたことで1時間ぐらい悩みました(Win IE6は平然と表示しますが)
まぁ、割といろいろ出来るなーと思ったので、これからもXMLでいろいろやってきたいと思います
Popularity: 2% [?]
- キーワード:



読者のコメント
0件