XMLからJaxbクラス群を自動生成する例
2010/03/16 14:10Update
XMLファイルからJaxbクラス群を自動生成する例(Antタスク)
■プロジェクト構成
■Antタスクファイル例
Xml2JaxbBuild.xml
Xml2JaxbBuild.xmlファイルをAntタスクで実行し、
xml-schema/orders.xsd
及び
src/com/test/にJavaソース(Jaxbクラス群)が生成されます。
trangとjaxbについて、参考資料をご参照ください。
Trang - RELAX NGに基づく異なるフォーマットのスキーマコンバータ
JAXBを使おう - サンプルから学ぶXML文書の読み書き
lib/jaxb/
activation.jar
jaxb-api.jar
jaxb-impl.jar
jaxb-xjc.jar
lib/trang/
trang.jar
src/
ソースがここで生成されます
xml/
orders.xml
xml-schema/
orders.xsd
Xml2JaxbBuild.xml
activation.jar
jaxb-api.jar
jaxb-impl.jar
jaxb-xjc.jar
lib/trang/
trang.jar
src/
ソースがここで生成されます
xml/
orders.xml
xml-schema/
orders.xsd
Xml2JaxbBuild.xml
■Antタスクファイル例
Xml2JaxbBuild.xml<?xml version="1.0" encoding="utf-8" ?>
<project default="xjc-compile" basedir=".">
<property name="src.dir" location="src" />
<property name="lib.jaxb.dir" location="lib/jaxb" />
<property name="lib.trang.dir" location="lib/trang" />
<property name="xml.dir" value="xml" />
<property name="xml-schema.dir" location="xml-schema" />
<property name="xml.name" value="Orders.xml" />
<property name="schema.name" value="Orders.xsd" />
<property name="package" value="com.test" />
<path id="classpath">
<fileset dir="${lib.jaxb.dir}" includes="*.jar" />
</path>
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="classpath" />
<target name="xjc-compile" depends="xml2SchemaByTrang">
<echo message="スキーマからJaxbクラス群生成" />
<xjc schema="${xml-schema.dir}/${schema.name}" target="${src.dir}" package="${package}" />
</target>
<target name="xml2SchemaByTrang">
<echo message="XMLファイルからスキーマを生成"/>
<java jar="${lib.trang.dir}/trang.jar" fork="true">
<arg line="-I xml -O xsd ${xml.dir}/${xml.name} ${xml-schema.dir}/${schema.name}"/>
</java>
</target>
</project>
Xml2JaxbBuild.xmlファイルをAntタスクで実行し、
xml-schema/orders.xsd
及び
src/com/test/にJavaソース(Jaxbクラス群)が生成されます。
trangとjaxbについて、参考資料をご参照ください。
参考資料
Trang - RELAX NGに基づく異なるフォーマットのスキーマコンバータ
JAXBを使おう - サンプルから学ぶXML文書の読み書き
Sponsored Link
- Relative Articles
- DTDファイル処理 - DTDParser - Java DTD パーサー - (2009/01/30 17:48)
- Apache Commons Digesterを使おう - サンプルから学ぶXML文書の読み込み - (2009/02/09 17:09)
- JAXBを使おう - サンプルから学ぶXML文書の読み書き - (2009/02/09 18:47)