JAXB
Java Architecture for XML Binding
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/12/31 14:35 UTC 版)
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。2021年6月) ( |
Java Architecture for XML Binding(JAXB)は、Javaのクラスを XMLで表現可能にする仕様である。JAXBには主に2つの機能がある。すなわち、JavaのオブジェクトをXMLにシリアライズすることと、逆にXMLからJavaオブジェクトにデシリアライズすることである。言い換えれば、JAXBはメモリ上のデータをXML形式に変換して保存することができ、そのためにプログラム内の各クラスにXMLロード/セーブルーチンを実装する必要がない。
JAXBは仕様が複雑で頻繁に変更される場合に特に便利である。その場合、Javaの定義の変更に合わせてXML Schemaの定義を更新することは、時間もかかるしバグを作りこみやすい作業となる。
JAXBはJakarta EEのAPIの一種であり、Java Web Services Development Pack (JWSDP) の一部でもある。WSITの基盤の一部にもなっている。JAXBはJava 1.6にも含まれている。
JAXB 1.0は、Java Community ProcessのJSR 31において2003年に開発された。続いて2006年、JAXB 2.0がJSR 222において開発され、2017年9月にMaintenance Release 3がリリースされている[1]。リファレンス実装はjava.netにCDDLライセンスで公開されている。
利用
"xjc" ツールは、XML Schemaや他のスキーマファイル形式(Java 1.6では、RELAX NG、XML DTD が実験的にサポートされている)をクラス表現に変換するのに使われる。クラス群は、javax.xml.bind.annotation.* の名前空間(例えば@XmlRootElementや@XmlElement)からアノテーションを使ってマークアップされる。XMLリストシーケンスは、java.util.Listの属性を使って表現される。マーシャルとアンマーシャルを行うコードはJAXBContextのインスタンスを通して生成される。
さらに、JAXBには "schemagen" ツールがある。これは基本的に "xjc" の逆を行うもので、アノテーション付きのクラス群のコードからXML Schemaを生成する。
データ型の既定バインディング
Javaのデータ型の種類はXML Schemaのものより豊富である。以下の表はJAXBにおいて、XMLのデータ型をどのようにJavaのデータ型にマッピングしているかを示したものである。
XML Schema型 | Javaデータ型 |
---|---|
xsd:string | java.lang.String |
xsd:integer | java.math.BigInteger |
xsd:int | int |
xsd:long | long |
xsd:short | short |
xsd:decimal | java.math.BigDecimal |
xsd:float | float |
xsd:double | double |
xsd:boolean | boolean |
xsd:byte | byte |
xsd:QName | javax.xml.namespace.QName |
xsd:dateTime | javax.xml.datatype.XMLGregorianCalendar |
xsd:base64Binary | byte[] |
xsd:hexBinary | byte[] |
xsd:unsignedInt | long |
xsd:unsignedShort | int |
xsd:unsignedByte | short |
xsd:time | javax.xml.datatype.XMLGregorianCalendar |
xsd:date | javax.xml.datatype.XMLGregorianCalendar |
xsd:g | javax.xml.datatype.XMLGregorianCalendar |
xsd:anySimpleType | java.lang.Object |
xsd:anySimpleType | java.lang.String |
xsd:duration | javax.xml.datatype.Duration |
xsd:NOTATION | javax.xml.namespace.QName |
脚注
関連項目
- XMLBeans – Apacheソフトウェア財団によるJAXBと類似・関連する技術
参考文献
![]() | 出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 |
外部リンク
- JAXB home page on Project GlassFish
- 従来の JAXB home page
- JaxMe – Apacheソフトウェア財団によるJAXBのオープンソース実装
- EclipseLink MOXy – Eclipse FoundationによるJAXBのオープンソース実装
- JSR 222 (JAXB 2.0)
- JSR 31 (JAXB 1.0)
- JAXB chapter of the Java EE 5 Tutorial
- JAXB Wizard
「Java Architecture for XML Binding」の例文・使い方・用例・文例
- Javaにおける説明的プログラミング
- 私のJavaのセッティングを調整してくれましたか?
- 私のJava設定を調整していただけたのですか?
- Javaアプリケーション
- 5 月15 日の午前8 時30 分から午後3 時まで、Oceanview公園で開催される、毎年恒例のWalk for Petsについてのお知らせです。
- イベントによる収益金の半分は、捨てられたペットのための保護施設であるHome for Petsに使われ、残りはさまざまな動物福祉団体に分配されます。
- 年次監査を行うために、Bradford and Partnersの会計士たちが10 月10 日の午前10 時に当社を訪ねてくる予定です。
- Bradfordの新人会計士2 名が今年の監査を担当すると連絡がありました。
- こんにちは、Bradfordさん。
- 昨日Bradfordさんが受け取られたデスクランプについてお電話を差し上げています。
- 取り違えてしまって申し訳ありませんが、あのランプは別のお客様に送られるはずのもので、誤ってBradfordさんに配送されました。
- Bradfordさんが受け取るはずだった商品は、Anne Keeganさんからの贈り物のご注文でした。
- タックマンモデルとは、チームビルディングにおける5段階、すなわち形成(Forming)、混乱(Storming)、統一(Norming)、機能(Performing)、散会(Adjourning)を示すモデルである。
- 着手する; 〔…の〕端緒を開く 〔for〕.
- 紺 《Oxford 大学およびその選手の色標》.
- 〔音楽会などへの〕優待券, 招待券 〔to, for〕.
- 等位接続詞 《and, but, or, for など; ⇔subordinate conjunction》.
- 【文法】 相関語 《either と or, the former と the latter など》.
- [for a] holiday to [in] France last year. 昨年は休暇をとってフランスへ旅行した.
- (最も奥の), foremost (真っ先の).
- Java Architecture for XML Bindingのページへのリンク