Java Architecture for XML Binding
Java Architecture for XML Bindingの最新ニュースをまとめて検索!
Java Architecture for XML Binding(JAXB)は、Javaのクラスを XMLで表現可能にする仕様である。JAXB には主に2つの機能がある。すなわち、Java のオブジェクトを XML にシリアライズすることと、逆に XML から Java オブジェクトにデシリアライズすることである。言い換えれば、JAXB はメモリ上のデータを XML 形式に変換して保存することができ、そのためにプログラム内の各クラスにXMLロード/セーブルーチンを実装する必要がない。
JAXB は仕様が複雑で頻繁に変更される場合に特に便利である。その場合、Java の定義の変更に合わせて XML Schema の定義を更新することは、時間もかかるしバグを作りこみやすい作業となる。
JAXB は Java EE の API の一種であり、Java Web Services Development Pack (JWSDP) の一部でもある。WSIT の基盤の一部にもなっている。JAXB は Java SE version 1.6 にも含まれている。
JAXB 1.0 は、Java Community Process において JSR 31 として開発された。2006年現在、JAXB 2.0 が JSR 222 として開発されている。リファレンス実装は 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
最終更新 2009年9月24日 (木) 10:06 (日時は個人設定で未設定ならばUTC)。
【Java Architecture for XML Binding】変更履歴
Java Architecture for XML Binding まとめて検索
「Java Architecture for XML Binding」について、ニュース・ウェブ・画像・動画などをまとめて検索します。

