| リポジトリ |
|
|---|---|
| 書かれた | ジャワ |
| Webサイト | プロジェクト.eclipse.org/projects/ee4j.jaxb-impl |
Jakarta XML Binding ( JAXB、旧称Java Architecture for XML Binding ) は、Java EE開発者が JavaクラスをXML表現にマッピングできるようにするソフトウェア フレームワークです。JAXB には、 JavaオブジェクトをXML にマーシャリングする機能と、その逆、つまりXML を Java オブジェクトにアンマーシャリングする機能という 2 つの主な機能があります。つまり、JAXB を使用すると、プログラムのクラス構造に特定の XML 読み込みおよび保存ルーチン セットを実装しなくても、任意の XML 形式でメモリにデータを保存および取得できます。これは、.NET Frameworkのおよびに似ています。
xsd.exeXmlSerializer
JAXB は、仕様が複雑で変更される場合に特に便利です。このような場合、XML スキーマ定義を定期的に変更して Java 定義と同期させるのは時間がかかり、エラーが発生しやすくなります。
JAXB は、Jakarta EE プラットフォーム (旧 Java EE) のAPIの 1 つであり、 Java Web Services Development Pack (JWSDP) の一部であり、WSITの基盤の 1 つです。また、 Java SEプラットフォーム (バージョン Java SE 6 ~ 10)の一部でもありました。Java SE 11 以降、JAXB は削除されました。詳細については、JEP 320 を参照してください。
JAXB 1.0は、 Java Community Processの下でJSR 31として開発され、2003年にリリースされました。[1] 2006年にJAXB 2.0がJSR 222の下でリリースされ、メンテナンスリリース2が2009年12月にリリースされました。[2]これらの仕様の リファレンス実装は、java.netのCDDLオープンソースライセンスの下で利用可能でした。
使用法
ツール「xjc 」は、 XMLスキーマやその他のスキーマファイルタイプ(Java 1.6以降、RELAX NG、XML DTD、WSDLが試験的にサポートされています)をクラス表現に変換するために使用できます。 [3]クラスは、 javax.xml.bind.annotation.*名前空間の注釈( @XmlRootElementや@XmlElementなど)を使用してマークアップされます。XMLリストシーケンスは、 java.util.List型の属性によって表されます。マーシャラーとアンマーシャラーは、JAXBContextのインスタンスを通じて作成されます。
さらに、JAXB には、基本的に「 xjc 」の逆を実行し、注釈付きクラスのセットから XML スキーマを作成できる 「 schemagen 」ツールが含まれています。
デフォルトのデータ型バインディング
以下の表は、XMLスキーマ(XSD)データ型とJAXBにおけるJavaデータ型のマッピングを示しています。[4]
バージョン
- Java SE 9: JAXB 2.3.0 [7] (モジュール内
java.xml.bind; このモジュールは非推奨とマークされています[8] ) - Java SE 8: JAXB 2.2.8 [9]
- Java SE 7: JAXB 2.2.3 (JSR 222、メンテナンスリリース2) [10]
- Java SE 6: JAXB 2.0 (JSR 222) [11]
参照
- XMLデータバインディング
- ジBX
- XMLBeans – Apache Software FoundationのJAXBに類似した補完的なテクノロジー
- TopLink – JAXB 1.0 をサポートするOracleのオブジェクトからリレーショナルおよびオブジェクトからXMLへのマッパー
- EclipseLink MOXy – Eclipse Foundationによる JAXB およびオブジェクト XML マッピング サービスのオープン ソース実装
- Liquid XML Studio – XML データ バインディング コード生成用の商用ツール
参考文献
- ^ 「JSR: Java 仕様要求。JSR 31: XML データ バインディング仕様」。2011 年 2 月 15 日閲覧。
- ^ 「JSR: Java 仕様要求。JSR 222: XML バインディング用 Java アーキテクチャ (JAXB) 2.0」。2011 年 2 月 15 日閲覧。
- ^ 「xjc - XML バインディングのための Java アーキテクチャ」。2011年 2 月 15 日閲覧。
- ^ 「JAXB データ バインディングの使用: 標準データ型マッピング」。
- ^ このタイプの
xsd:element - ^ このタイプの
xsd:attribute - ^ 「どの JAXB RI がどの JDK に含まれていますか?」
- ^ 「非推奨モジュール java.xml.bind」。
- ^ 「Jaxb 2.2.8 (JDK 8)」。2015年3月1日閲覧。[永久リンク切れ ]
- ^ 「Java SE 7: Java XML テクノロジーの機能強化」 。2012年 3 月 21 日閲覧。
- ^ 「Java SE 6: 機能と拡張機能」。2012年3月21日閲覧。
外部リンク
- 公式サイト Project GlassFishのリファレンス実装
- 以前の JAXB ホームページ 2017-05-04 にWayback Machineでアーカイブされました
- オリジナルの JAXB ホームページ 2005-07-09 にWayback Machineでアーカイブされました
- JAXB チュートリアルは、2013 年 3 月 23 日にWayback MachineにWolfgang Laun によってアーカイブされました。
- JSR 222 (JAXB 2.0)
- JSR 31 (JAXB 1.0)
- Java EE 5 チュートリアル - XML スキーマと Java クラスのバインディング Java EE 5 チュートリアルの JAXB の章
- JAXB ウィザードは 2012-05-31 にWayback Machineにアーカイブされました
- JAXB チュートリアル
記事
- JAXB 2.0はJavaでのXMLバインディングを改善します
- XML と Java テクノロジ: データ バインディング、パート 2: パフォーマンス
