(※このエントリは2005年に書かれました。内容が古くなっている可能性があります)
ドキュメントがXBELじゃありません
Mozilla Firefox で複数環境のブックマークを同期させるプラグイン、
Bookmarks Synchronizer 1.0.1
が、ウチの環境だとなぜか、
「ドキュメントがXBELじゃありません」
というエラーを吐いて、同期してくれないという問題がありまして。
解決したので、とりあえず記事を立てました。何人くらい必要としている人がいるか解かりませんが。
ASCII 0x13が混じっていると起きるらしい
海外のBBSを見て回って得た結論。制御文字ですね。吐き出したxbel.xmlにASCIIの0x13が混じっていると、上記エラーが発生するらしいです。
修正方法
(1)Bookmarks Synchronizer>詳細設定>エクスポート で、xbel.xmlをエクスポートします。
オプションのチェックは(おそらく)すべて外していいと思います。少なくとも、アイコンを出力する必要は無いでしょう。
(2) エクスポートされたxbel.xmlは改行されていません。問題箇所が見つけやすくするため、事前にテキストエディタの置換機能などを使って</bookmark>の後ろなどで改行しておくと作業がラクになると思います。
(3)エラーの起きるxbel.xmlをMozilla Firefoxで開くと、問題のある箇所でパースエラーが発生して、エラーメッセージが出ます。
(4)「ブックマークの管理」で、問題のあるブックマークのプロパティを修正します。
混じりこんだ制御文字(ASCII 0x13)を取り除けばいいわけですが、単純な解決法はプロパティの文字列を全削除することでしょう。
エクスポートされたxbel.xmlの方の問題箇所も修正します。
(5)Mozilla Firefoxでxbel.xmlをリロードします。
再びエラーが見つかったら(4)に戻って、エラーが無くなるまでこれを繰り返します。
(6)エラーが出なくなったのを確認して、再度xbel.xmlをエクスポートします。 (1)で外したオプションを戻すのを忘れずに!
(7)エクスポートしたxbel.xmlをインポートします。
「ドキュメントがXBELじゃありません」
というメッセージが出なければ、修正完了です。
祈り
筆者はエンジニアではありません。とりあえず、こうしたらエラーが出なくなった、という過程を描いたものです。間違っていないことを願っていますが、保証のかぎりではありません。