DTD/XMLスキーマを持ったXML文書を編集するJavaTips 〜Eclipse活用編

» 2004年02月03日 10時00分 公開
[山田祥寛@IT]

 JSP/サーブレットを使ってアプリケーションを構築する際には、web.xmlやserver.xml(Strutsアプリケーションならばstruts-config.xml)など、さまざまなXMLファイルを記述する必要があります。これらの厳密なDTD(Document Type Definition:文書型宣言)が定められているXML文書においては、要素の登場順を厳密に記述しなければなりません。例えば、web.xmlにおいて<servlet>要素が<servlet-mapping>要素の後に記述されている場合はエラーになります。こうしたルールをあらかじめ覚えておくのはなかなか難しいことですし、また、記述のたびにリファレンスやDTD文書を参照しなければならないのも大変な作業です。

 そこで本稿では、XML文書(特にDTDやXMLスキーマによって文書型が厳密に宣言されている)を編集する際に役立つプラグイン「XMLBuddy」を紹介します。「XMLBuddy」はEclipse内部で使えるXMLエディタで、XML文書で採用されているDTD/XMLスキーマを基にして、タグの補完や検証を行ってくれます。

操作手順

(1)「XMLBuddy」プラグインを入手する

 「XMLBuddy」プラグインは、以下のサイトから入手することが可能です。その時々の最新安定版をダウンロードしてください。

http://xmlbuddy.com/

http://xmlbuddy.com/

 「free download」というリンクをクリックすると、ライセンスの同意を求められるので、[I Accept]をクリックした後、ユーザー登録を行います(自分自身のメールアドレスを入力してください)。[continue]をクリックすると、ダウンロード画面に移ります。

(2)ダウンロードファイルをインストールする

 ダウンロードしたcom.objfac.xmleditor_X.X.X.zip(X.X.Xはバージョン番号)を解凍し、現れた「com.objfac.xmleditor_X.X.X」フォルダをEclipseホーム(本稿では「C:\eclipse」とします)配下の「plugins」フォルダにそのまま移動します。

 Eclipseがすでに起動している場合には、一度終了したうえで、再度起動してください(コンピュータそのものの再起動は必要ありません)。

(3)「XMLBuddy」の設定を行う

 「XMLBuddy」をEclipse内で利用するには、ファイルと「XMLBuddy」とを関連付けする必要があります。

 メニューバーから[ウィンドウ(W)]→[設定(P)]を選択すると、[設定]ダイアログが開くので、左ツリーから[ワークベンチ]→[ファイルの関連付け]を選択します。すると、以下のような画面が表示されます。

画面1

 「ファイルタイプ(T)」から、XML文書全体に対して関連付けを行う場合には「*.xml」を、(例えば)web.xml単体に対してのみ関連付けを行いたい場合には「web.xml」を選択します(注)。リスト中に存在しない場合は[追加(A)...]をクリックし、ファイルタイプとして「*.xml」または「web.xml」を入力してください。

注:例えば、Antのビルド用ファイルbuild.xmlは、別添のAntエディタを使用する方が便利です。

 続いて下の「関連付けられたエディタ(E)」に、使用するエディタ(XMLBuddy)を追加します。[追加(D)...]をクリックし、表示されたリスト中から「XMLBuddy(tm)」を選択してください。

(4)新規にXMLファイルを作成する

 以上で「XMLBuddy」とXMLファイルとの関連付けは完了です。

 メニューバーから[ファイル(F)]→[新規(N)]→[ファイル]を選択し、ファイル名として(例えば)「web.xml」と入力します。

 すると、「XMLBuddy」エディタが開きますので、XML文書を入力していきます。「XMLBuddy」の便利なところは、あらかじめ適用するDTD宣言(<!DOCTYPE>)を記述しておくことで、コード補完機能が働く点です。例えば、以下の画面のようにです。

画面2

 「<」と入力するだけで、そのコンテキストで使用することができる要素だけをリスト表示してくれるのです。あとはリストから適当な要素を選択するだけで、開始/終了タグを自動的に補完してくれます(注)。また、右ペインにアウトラインでXMLの構造が図示されるのも便利な機能でしょう。

注:DTDが存在しないXML文書の場合も開始タグのみを記述することで、終了タグが補完されます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。