XMLで保存する日記ソフト
XMLで保存する日記ソフト
AutoHotkeyで作った。といっても、中身はMSXMLを呼び出して使ってるから、AutoHotkeyでやってることなんてGUI部分くらいなんだけど。
元々しばやん日記を使っていたけど、いくつか不満があった。
- 保存ファイルが1日1ファイルなせいでデータフォルダのファイル数が膨大になる
- プレーンテキストで保存されないので一括編集ができない
- エクスポートはできるがインポートはできない
そこで代替ソフトを探してみたが、どうにもいいのがない。というか、BLOGとかWIKIが普及しすぎて日記ソフト自体がほとんどない。
そんなときにAutoHotkeyでXMLを扱うことができると分かったので、自分で作ってみることにした。
XMLのいいところは、テキストエディタ等で扱えるので一括編集が可能なところと、メタデータも保存できるので最近のメモソフトへの移行がしやすいところ。
これに加えて、1年1ファイルで保存できて、全日記データから検索できれば言うことなし。
XMLに触れるのは初めてだったが、まぁ何とかなった。色々間違ったやり方もしてるかもしれないけど、とりあえず希望通り動いてる。
調子に乗ってXSLまで書いてみた。
やってることはマークアップというよりスクリプトだったので、理解はしやすかった。けど再帰的処理のところで引っかかった。
記述は正しいはずなのに、apply-templatesでテンプレートを適用する時に、何故かwith-paramでパラメータが渡せない。散々悩んだけど、以下のページに同じ疑問が質問されてて、それに対する回答を試したらあっさり解決した。
要するに、ルートノードとして"/"でマッチングするんじゃなくて、"/root"みたいにルート要素名をちゃんと指定しないといけないらしい。どうも、記述的には間違いではないし実際別の環境では動くらしいので、バグか何かなのかもしれない。これは言われなきゃ分からん。