ComicInfoEditor での困り事

ComicrackがComicInfo.xmlを読むとき、XML内の要素に順序はあるのか?というのが、前から懸念していたことである。
つまり、

みたいになっていた場合、ちゃんと読み込まれるのであろうか?ということ。

で、結論から言うとどうもダメっぽい。詳細な実験をしたわけではないので、もしかしたら違うところで問題が起きている可能性もあるがどうやら変な順序になっているComicInfo.xmlを読み込んだ瞬間にComicrackがクラッシュするようだ。
Comicrackは読み込んだアーカイブ内の画像が壊れていてもクラッシュするし、いろいろとエラー処理に問題がありそうな感じなんだけれども、XMLもやっぱり~という感じ。

中でどういう処理をしているかはわからないけれども、PythonでいうElementtreeみたいなのでやれば順序は関係なく動くはずなので、違うんだろう。抽象度の低いやり方?っていうんだろうか。
まぁ文句を言っていても仕方ないので、EditorもComicrackが生成するのと同じ順序のXMLを作らないといけないということである。

  

対策として今考えているのは、順序どおりに要素が並んでいるXMLをテンプレートとして用意しておいて、入れ込む要素をそこにはめ込み、なかったら削除。最後にもともとのComicInfo.xmlからページ関連の要素を持ってきて後ろからくっつけるというもの。
XMLの構造化されているというメリットを無視してテキストとして扱うというかんじ。

もしかしたら、要素ごとの順序を指定すればソートとかできるのかな?
(参考:http://ymotongpoo.hatenablog.com/entry/20101008/1286499332
数値とか文字列順に並べるわけではないので比較部分を作るのが大変そうだけど、こっちのほうが解決策としてはスマートなのかも。今後入力できる要素を増やした時にも対応しやすそうだしね。



コミケで隣のスペースにいたサークルさんが、自作の手のひらに乗るBASICインタープリター内蔵ポケコン(CPUはARM Cortex-M4)というのを展示していた。今度はRubyを載せる計画があるらしい。
そういうのを見ていると、自分もハードウェアも含めた開発もやってみてーなーと思う。