Hatena::Groupretla

Klein*Klein RSSフィード

2013年08月09日

XMLで保存する日記ソフト

| 17:47 | はてなブックマーク - XMLで保存する日記ソフト - Klein*Klein

AutoHotkeyで作った。といっても、中身はMSXMLを呼び出して使ってるから、AutoHotkeyでやってることなんてGUI部分くらいなんだけど。

元々しばやん日記を使っていたけど、いくつか不満があった。

  1. 保存ファイルが1日1ファイルなせいでデータフォルダのファイル数が膨大になる
  2. プレーンテキストで保存されないので一括編集ができない
  3. エクスポートはできるがインポートはできない

そこで代替ソフトを探してみたが、どうにもいいのがない。というか、BLOGとかWIKIが普及しすぎて日記ソフト自体がほとんどない。

そんなときにAutoHotkeyでXMLを扱うことができると分かったので、自分で作ってみることにした。

XMLのいいところは、テキストエディタ等で扱えるので一括編集が可能なところと、メタデータも保存できるので最近のメモソフトへの移行がしやすいところ。

これに加えて、1年1ファイルで保存できて、全日記データから検索できれば言うことなし。

XMLに触れるのは初めてだったが、まぁ何とかなった。色々間違ったやり方もしてるかもしれないけど、とりあえず希望通り動いてる。


調子に乗ってXSLまで書いてみた。

やってることはマークアップというよりスクリプトだったので、理解はしやすかった。けど再帰的処理のところで引っかかった。

記述は正しいはずなのに、apply-templatesでテンプレートを適用する時に、何故かwith-paramでパラメータが渡せない。散々悩んだけど、以下のページに同じ疑問が質問されてて、それに対する回答を試したらあっさり解決した。

要するに、ルートノードとして"/"でマッチングするんじゃなくて、"/root"みたいにルート要素名をちゃんと指定しないといけないらしい。どうも、記述的には間違いではないし実際別の環境では動くらしいので、バグか何かなのかもしれない。これは言われなきゃ分からん。

トラックバック - http://retla.g.hatena.ne.jp/retla/20130809