EclipseでXSD/DTDファイルを登録してタグ補完

EclipseWTPに含まれるXMLエディタは、XMLファイルを編集する際、XSDやDTDファイルの内容に従ってタグや属性の補完をしてくれます。メジャーなXMLファイル(JPAのpersistence.xmlSpring FrameworkのBean定義ファイルなど)は、EclipseがよしなにXSDやDTDファイルを読み込んでくれるため(※1)、特に設定をしなくてもタグ補完してくれます。しかし、そうではないXMLファイルは、EclipseにXSDファイルを明示的に登録する必要があります。
※1 Eclipseが事前にXSDやDTDファイル登録していたり、schemaLocationで指定された場所からXSDファイルを読み込んだりする

登録の仕方は簡単です。Eclipseの「Window」→「Preference」でダイアログ画面を開き、「XML」→「XML Catalog」を開きます。

XML Catalog Entries」で「User Specified Entries」を選択し「Add」を押下します。ワークペースまたはファイルシステムからXSD/DTDファイルを選択したら、「Key:」に任意の文字列を指定し(XSDファイルにtargetNamespaceが指定されていたら、その値が自動的に入力されます)、「OK」を押下します。下の画面では、「shiporder.xsd」というXSDファイルを指定して、「Key:」に「shiporder」という文字列を指定しています(shiporder.xsdの中身は、こちらのサイトのものを使用しています)。

これで登録は完了です。後は、XMLファイルを編集する時に、「Key:」で指定した文字列をネームスペースで指定(XSDファイルを登録した場合)すれば、タグ補完ができます。

タグ補完ができると、XMLファイルの編集がし易くなる利点もありますが、記述可能なタグや属性が一覧できて、設定項目の理解が深まるという利点もあります。

参考