年賀状の季節、住所録をXMLにしてみた

住所録を gmail経由で ipod touchの連絡帳に持って行ったものの。住所が増えたり減ったり、メンテのたびに gmail経由で同期するのがばかばかしい。USB接続でストレージとして使えるなら、適当なディレクトリに適当なファイル名でコピーすればいいのに、それもできない。じゃあ、ってんで、dropboxに放り込んでみたものの、開くのに適当なエディタがない。
そもそも gmailにしろ、dropboxにしろ、webサービスなんて信用できないので、何かの拍子にファイルが漏れてごめんなさい、されると個人情報の塊、住所録なだけに困る。
ipod touchがローカルでapacheを立ち上げてcgiが使えりゃなんの問題もない。…調べてみた。普通の使い方じゃ無理くさい。脱獄Jailbreakしなきゃいけない、らしい。今後のバージョンアップとか修理メンテなんかのことを考えると素直に使いたい、ので、とりあえず脱獄は断念。
しょうがないんで、自宅サーバーのBasic認証ディレクトリでcgiを動かすことに。しょせんBasic認証、今さらセキュリティにもなっていないけど、ローカルIP限定、表からはケータイの識別番号特定、にしたので割としっかり頑丈になった、はず。
手元の住所録はテキストのcsv。これが破綻している。連絡先とか住所って、名前や電話番号、もしかすると住所も不特定の複数になることが多いので、csvファイルひとつで管理するのはかなりビミョーになる。基本コンマ区切りで、データが複数になるカラムはコロンで区切って、なんてことができなくもない。けど、記入する・メンテするのがわかりにくくなって面倒になる。
この歳になって友だちも少なく20行もあれば足りる、DBを使うほどじゃない。
てことで、ちょっと便利に使い過ぎちゃう傾向にあるXMLで記述。確かに分かりやすくて便利なんだよねえ。
<info>
<zip>郵便番号</zip>
<addr>住所</addr>
<tel>電話番号</tel>
<name>名前</name>
<yomi>よみ</yomi>
<email>メール</email>
<url>WEBサイト</url>
</info>
一件のデータはこんなフォーマットに。おのおの必要なだけ複数個記述可能だから、重宝する。csvと違って視認性も高い。メンテするときはエディタで開いて追加・編集する。
スクリプトでは名前をよみ順に並べて表示する。名前クリックで該当者データを表示する。だけ。XML::SimpleでハマってData::Dumperのお世話になってけっこう時間くったのは内緒。
ついでに、相変わらず今年も字が汚くて愕然としたのも内緒にしておこう。
みなさま、良いお年を。

