EclipseプラグインでXMLコードアシストするもの

とあるXMLファイルのエディタ(コードアシスト付)を作ろうと思い調べてみた。


XMen
http://sourceforge.net/projects/xmen/


XMLBuddy
http://xmlbuddy.com/
オープンソースじゃないので、ソースは見れない


Bulletnote
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletnote/
XMenを参考にされたとのこと。
コードアシストのロジックは難しいが、例えば、こんなやり方もあるんだなと思った(Eclipseプラグイン開発自分FAQより)

  • カーソル位置から逆方向に文字をたぐり、'<'に遭遇するまでの文字列を切り出す
  • タグ名一覧と切り出した文字列をString.startsWithメソッドを用いて比較
  • 一致するものを候補として列挙。その際にそのタグを閉じる文字列までを置換文字列として設定する


Hibernate Synchronizer
http://hibernatesynch.sourceforge.net/
かなりハードコーディングであるが、他のモジュールを使わずにここまでやってるのは素敵。ちょっとDTDを反映してない部分はあるけど。。。


Antエディター
org.eclipse.ui.externaltools
これもあるコードアシスト付のXMLエディタではある。参考にするには巨大か。