XML Buddy

EclipseXML エディタプラグインXML Buddy (無償版)を試す。普通にいい、という印象。まだ使い込んではいないけど簡単に紹介。よさげな機能は:

  • 開始タグを閉じるとカーソルの後ろに自動的に終了タグが挿入。
  • 要素内容で改行すると綺麗にオートインデント。
  • 自動検証。エラーが自動的にリストされ、そこからエラー位置にジャンプ。
  • タグ補完機能。DTD があれば要素名なども補完。
  • インスタンス文書からの DTD 生成

その他、XML 宣言を書き換えるだけで保存時のエンコーディングが自動的に切り替わったり、文書型宣言を書き換えると自動検証に即座に反映されたり、いい感じ。基本的にテキストエディタなので壊れた文書も書けてしまうが、終電問題*1に悩まなくて済むのでこれでいいって話も。

DOMエディタがいいっていう個人的な拘りを抜きにするなら不満な点はあまりないけど敢えて挙げると:

  • オートフィル、またはそれっぽく表示する機能がない。長い行は延々右に伸びていくばかり。
  • でかい文書ではちょっと重い(でも nxml-mode よりは軽いかも???)。
  • アウトライン表示が文書系(XHTMLとか)の文書ではあんまし役に立たない(文書型毎に賢いアウトライン表示ができると嬉しい)。

(追記) オートフィル、設定でありました(Formatting - Automatically format long lines)。でも日本語の行だとうまくいかないです。一続きの日本語文字列が 1 ワードと解釈されてワードラップの関係で抑止されてる? でも分かち書きしても日本語の場合行幅の数え方がおかしいのか長くなりすぎるようです(文字数しか数えてない?)。アウトライン表示も設定で多少改善(Outline - Show first few words of text in outline)。ベストではないけど、実用にはなる範囲か。

あと XML 1.1 文書で NullPointerException てのもあれだけど、落ちるわけじゃないし(エラー表示欄に出てくるだけ)まあいいか。ていうか山形浩生のトップページXHTML 1.1 にするのはいいけど、なんで XML 1.1 にしますか? 何か深い理由でもあるのでしょうか。。。*2通常は XML 1.1 を使う必要はないし、その必要がないのに XML 1.1 文書を作成することはお勧めできません。@IT の川俣さんの記事を参照:

http://www.atmarkit.co.jp/fxml/rensai/w3cread19/w3cread19_a.html


*1:エラーを取り切らないと保存できない厳しいエディタを使っていて終電を逃してしまうこと。エラーの残った XML 文書がネットに流れる危険性は看過できない、「世界のためにそこで帰ってはいけません」というのが IBM の田村健人さんの主張。これ、どう思います? > はてなid:hatenadiaryさん世界のために日曜の朝からbug fix してくれたので削除:)

*2:実はミーハーなだけ、とエスパー。