XML データ・バインディングのための JAXB の使用

Java™ Architecture for XML Binding (JAXB) は、Java クラスおよび XML スキーマを簡単かつ手軽にマップする方法を提供し、Web サービスをシンプルに開発できるようにする、Java テクノロジーです。JAXB は xjc スキーマ・コンパイラー、schemagen スキーマ・ジェネレーター、 およびランタイム・フレームワークを提供して、Java オブジェクトから XML 文書へのマーシャルおよび その逆のアンマーシャルをサポートします。

このタスクについて

JAXB は、XML-Java 間バインディングのテクノロジーです。これにより、 スキーマと Java オブジェクトの間、および XML インスタンス文書と Java オブジェクト・インスタンスの間の変換を行うことができます。JAXB テクノロジーは、ランタイム API と、XML 文書へのアクセスを簡単にする付随ツールから構成されています。 JAXB API およびツールを使用して、 Java クラスと XML スキーマの間のマッピングを確立することができます。 XML スキーマは、XML 文書のデータ・エレメントと構造を定義します。 JAXB テクノロジーは、XML 文書と Java オブジェクト間で双方向変換をできるようにするツールを提供します。 XML 文書に保管されているデータには、XML データ構造を理解していなくてもアクセスすることができます。

JAXB は、この製品において Java API for XML Web Services (JAX-WS) のツールおよび実装で使用される、デフォルトのデータ・バインディング・テクノロジーです。 JAX-WS アプリケーション内で使用するために、JAXB オブジェクトを開発することができます。 また、Java アプリケーション内で XML を操作するために、XML データ・バインディング・テクノロジーを利用する便利な方法として、JAX-WS プログラミング・モデルから独立させて JAXB を使用することもできます。

サポートされる構成 サポートされる構成: このバージョンのアプリケーション・サーバーは、 JAXB 2.2 仕様をサポートします。JAX-WS 2.2 では、データ・バインディングに JAXB 2.2 が必要です。JAXB 2.2 は、スキーマ生成の改善および JAX-WS との統合強化のため、アノテーションのマイナーな機能拡張を行いました。sptcfg
サポートされる構成 サポートされる構成: wsimportwsgenschemagen、および xjc コマンド行ツールは、z/OS® プラットフォームではサポートされていません。この機能は、z/OS プラットフォームで稼働する WebSphere® Application Server で提供されるアセンブリー・ツールによって提供されます。 これらのツールについての詳細は、JAX-WS アプリケーションのこれらのコマンド行ツールに関する説明を参照してください。sptcfg

JAXB は xjc スキーマ・コンパイラー・ツール、schemagen スキーマ・ジェネレーター・ツール、およびランタイム・フレームワークを提供します。 xjc スキーマ・コンパイラー・ツールでは、XML スキーマ定義 (XSD) から開始して、 XSD スキーマに定義されたエレメントおよびタイプにマッピングする JavaBeans セットを作成できます。 また、JavaBeans のセットから開始し、schemagen スキーマ・ジェネレーター・ツールを使用して XML スキーマを作成することもできます。 スキーマ・コンパイラーまたはスキーマ・ジェネレーター・コマンド行ツールのいずれかを使用した後、XML 文書を Java オブジェクトとの間で双方向に変換し、その結果である Java クラスを使用して Web サービスのアプリケーションをアセンブルすることができます。

コマンド行からツールを使用する以外にも、 これらの JAXB ツールを Ant ビルド環境内で起動することができます。 Ant ビルド環境内で com.sun.tools.xjc.XJCTask Ant タスクを使用して xjc スキーマ・コンパイラー・ツールを起動します。 Ant ビルド環境内で com.sun.tools.jxc.SchemaGenTask Ant タスクを使用して schemagen スキーマ・ジェネレーター・ツールを起動します。 これらの Ant タスクでは、com.ibm.jaxb.tools.jar ファイル および com.ibm.jaxws.tools.jar ファイルがクラスパスに存在していなければなりません。

JAXB のアノテーションを付けたクラスと成果物には、JAXB ランタイム API が XML インスタンス文書を処理するために必要とする、すべての情報が含まれています。 JAXB ランタイム API は、JAXB オブジェクトの XML ファイルへのマーシャルと、XML 文書の JAXB クラス・インスタンスへのアンマーシャルを使用可能にします。 JAXB バインディング・パッケージ javax.xml.bind は、 コンテンツ・クラスと一緒に直接使用される抽象クラスおよびインターフェースを定義します。 さらに、パッケージはマーシャル API およびアンマーシャル API を定義します。

オプションで、 JAXB バインディングのカスタマイズを使用して、デフォルト生成されるタイプ・マッピングをオーバーライドすることもできます。 JAXB バインディングをカスタマイズするには、ソース・スキーマ内でインラインのアノテーションを使用するか、 または、外部バインディング・カスタマイズ・ファイルを使用して、カスタマイズ内容を JAXB バインディング・コンパイラー xjc に渡 して、Java タイプ・マッピングを制御します。あるいは、 Java アノテーション を既存の Java クラスに追加して スキーマ・ジェネレーター schemagen に渡し、それによってスキーマまたは XML タイプ・マッピング を制御することもできます。バインディングのカスタマイズに関するオプション および Java アノテーションについては、JAXB 仕様を参照してください。

JAXB を使用して、データ・オブジェクトを以下の方法で操作することができます。

手順

タスクの結果

これで、Java アプリケーションが XML データを操作するために使用できる JAXB オブジェクトが得られました。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxbbind
ファイル名:twbs_jaxbbind.html