まず妥当性検証強制ツールについて。agendaではMTなので既存のプラグインで可能だが、公開書庫の方はそういう贅肉だらけのシステムに依存したくないのでローカル環境のPythonで再構築と妥当性検証と公開のプロセスを行なう。拡張子*.pywでPythonファイルを作ってコンソールなしのGUIアプリケーションを作るか、CUIにするか、テキストエディタから呼び出して処理結果諸々をwebbrowserモジュールでFirefox2に表示するか。4Suiteサーバーを使った「ウェブ」アプリケーションにしてFirefox2で操作するか。やっぱりテキストエディタだよな。無駄がない。
やりたいことなんてこんな程度。昔MSXMLとPythonで作ったのは今一融通の利かないGUIアプリケーションで、テキストエディタとの連携をあまり考えていなかった。ソース(コード)や文章を書くには使い慣れたテキストエディタが一番だから、今度はテキストエディタからクリック一発でサイトの再構築と更新/公開をやってしまおう。サイトマップの形式をどうするかだが、これも手書きのHTMLでOK。ul/olだろうがdlだろうが木構造の中に始点アンカーが入っていればいい。で、ここでHTMLTidyを使おうというわけ。何故ならXPathとXSLTを使いたいから。サイトマップは一つだけだから、HTMLTidyをかます冗長性も問題にならないはずだ。
XML.com: Wrestling HTMLを読んだ。HTMLをwell-formed XMLに変換したり、HTMLから一寸したデータを取得したりする方法について書かれている。HTMLTidyのPython版、 µTidylibの文字コード指定について触れられていて、例えば"utf-8"ではなく"utf8"という文字列でなければならないそうな。
By trial and error I figured out that "shiftjis" and "utf8" were required for things to work and that I could not use any likely spelling of "ISO-8859-1" at all, but had to use the alternate name "latin1" instead.
師匠ありがとう。
浦島太郎やっている間に、随分と便利な世の中になったものよのう。
easy_install amara
これだけでOgbuji師匠のXMLツールキットをインストールできてしまうとは。関連パッケージ込みで。