トップページ -> 実践知識 -> XML ドキュメントのリレーショナルデータベースへのマッピング -> JAXB と Ant を用いた DTD からの Java クラス生成
[サイトマップへ]  

JAXB と Ant を用いた DTD からの Java クラス生成

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

JAXB と Ant を使い,XMLドキュメントのDTDファイルから,Java のクラスを自動生成することを行います.


JAXB のインストール

  1. ダウンロード

    https://jaxb.dev.java.net/

    1. 左にあるJAXB の下の「Downloads」をクリック
    2. 「releases」 をクリック
    3. 最新版(但し、「EA」が付いていないもの)をクリック
    4. 右側に現れるので、ダウンロード
  2. JAXB2_20071219.jarの実行

    jarファイルを実行(ダブルクリック)し、Acceptボタンを押す(スクロールを最後まで動かすことで押せるようになる)ことでディレクトリが作成される.

    ダブルクリックで実行できない場合はコマンドプロンプト上で以下のコマンドを実行することにより対処できる

    java -jar JAXB2_20071219.jar
    

    今回は作成されたディレクトリ(jaxb-ri-20071219)を C ドライブの直下に移動しておく

Eclipseからのantの実行

DTDファイル名,作成されるクラスのパッケージ名は次の通りとします(自由に変えることができます.但し,半角文字で,かつ,空白文字を含まない方が良いでしょう).

Eclipse を使用します。手順は以下の通りです.

  1. build.xmlの作成

    プロジェクトを右クリック⇒「新規」⇒「ファイル」よりbuild.xmlを新規作成する

    作成されたファイルはAnt Editorで開かれる

    build.xml の記述例

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- 属性defaultの値にtargetタグの属性nameの値を指定することでtargetタグ内の内容を実行 -->
    <project name="project" default="default">
    	<description>
    		antによるDTDファイルの変換
    	</description>
    
    	<!-- 属性classnameで指定したクラスを属性nameの値で指定し実行できるようになる -->
    	<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
    		<classpath>
    			<!-- 読み込むクラスの場所を指定 -->
    			<fileset dir="C:/jaxb-ri-20071219" includes="lib/*.jar"/>
    		</classpath>
    	</taskdef>
    	
    	<!-- projectの属性defaultで指定されているものだけが実行される -->
    	<target name="default">
    		<!-- 各種設定 -->
    		<!-- 属性schema ⇒ 実行するファイルの指定 -->
    		<!-- 属性destdir ⇒ 作成されるクラスの場所 -->
    		<!-- 属性package ⇒ 作成されるクラスのパッケージ名 -->
    		<xjc schema="SAMPLE.dtd" destdir="src" package="hoge.hoge.com">
    			<arg value="-dtd"/>
    		</xjc>
    	</target>
    
    </project>
    
  2. 実行の前にDTDファイル(SAMPLE.dtd)を, build.xml と同じディレクトリ内に置いておく
    1. SAMPLE.dtdをダウンロードしておく。
    2. Eclipse でプロジェクト名を右クリック。
    3. 「インポート」→「一般」→「ファイルシステム」と選び「次へ」をクリック。
    4. ソースディレクトリに、SAMPLE.dtd を置いたディレクトリを指定して、 「参照」をクリック
    5. SAMPLE.dtd をクリック。
    6. 「終了」
  3. 実行

    build.xmlを右クリック⇒「実行」⇒「Ant ビルド」により実行

    実行した結果、srcディレクトリ内に複数のクラスが作成される(はず)

(参考) 出来たクラスのクラス図