« CMSとしてのMovableType | メイン | りんごアレルギー »

2005年08月30日

XML+XSLTでコンテンツ管理 [プログラミング]

XML+XSLTによるWebコンテンツ自動生成

だいぶ古いものだが、XML+XSLTによるWebコンテンツ自動生成という本を買った。

先日MTでCMSっぽいことを実現しようと思ったのだが、やはり柔軟性に欠くということでXSLTのほうも検討してみることにしたのである。 ちなみにXSLTによるWebページの自動生成は別サイトのほうで以前から使っている。 他人のスクリプトを参考にしたいという気持ちもあったので、この本を買ってみることにした。

XSLTを用いたWebページの自動生成及びサーバサイド変換は、以前の私の卒論のテーマだったりもする。

で、肝心の本の内容だけれども、いまひとつ現実的じゃない感じが。 サンプルコードがあるのはいいのだけれども、実際のWebサイトで使うにはあまりに機能性として貧弱すぎる感じがする。 始めてXSLTに取り組もうとする人ならわかりやすくていいかもしれないが、少々ボリューム不足な感は否めない。 かといってXSLTを1から教えているわけではないので、入門書として使えるわけではない。

実際のWebページの更新作業に耐えうるシステムをXML+XSLTで実装するなら、以下のような手順は最低限必要だろう。

  1. 簡単なテキストファイルで記事を書く
  2. それをXML形式に変換する
  3. 作成日時や作成者などのメタ情報を付加する
  4. 記事リストの更新日時と比較し、新しければ変換プロセスを実行する
  5. 共通メニュー等の部品をインポートする
  6. XLSTを適用して記事をHTMLに変換する
  7. 記事リストに記事を追加しカテゴリインデックスを更新する
  8. 更新記事一覧に記事を追加する
  9. 差分ファイルだけをアップロードする

この本で実装しているカテゴリは、単にフォルダにわけて別々のスクリプトで走らせるという中途半端なものだし、更新日時を比較して差分だけを更新することも出来ない。これではFTPでミラーリングしても毎回全てのファイルをアップロードしなくてはならなくなるので、全く現実的ではない。

Antあたりを使うのがベストのような気もするが、せっかくWSHがあるので、私もWSHで頑張ってみることにした。ビジネスロジックはJScriptで粗方組んでしまって、ユーザインタフェースは VB or Perlで適当にくっつけてやればいい。別にコマンドラインでも構わないのだが、やはりMTばりの使いやすさという面を考えると、やはりグラフィカルなUIは欲しいところだ。

あと、記事用xmlファイルも自力でガリガリ書くのは嫌なので、はてなダイアリーFreeStyleWikiのようなタグ変換機構を作ってみた。テーブルのヘッダセルをどうやって区別させるかに少々苦戦したけれど。

余談。CPANにあったXML::XSLTというモジュールを試してみたのだけれど、<xsl:import /> を実装していないのがちょっと厳しい感じ。perldocを見ると<xsl:include />のほうには対応しているらしいんだけど、なぜか上手く認識しない。現在調査中。

投稿者 : 11:20 | コメント (0) | トラックバック (0)

トラックバック

このエントリーのトラックバックURL:
http://totora.jpn.org/mt/mt-tb.cgi/33

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)