Java Architecture for XML BindingJAXB)は、JavaクラスXMLで表現可能にする仕様である。JAXBには主に2つの機能がある。すなわち、JavaのオブジェクトをXMLにシリアライズすることと、逆にXMLからJavaオブジェクトにデシリアライズすることである。言い換えれば、JAXBはメモリ上のデータをXML形式に変換して保存することができ、そのためにプログラム内の各クラスにXMLロード/セーブルーチンを実装する必要がない。

JAXBは仕様が複雑で頻繁に変更される場合に特に便利である。その場合、Javaの定義の変更に合わせてXML Schemaの定義を更新することは、時間もかかるしバグを作りこみやすい作業となる。

JAXBはJakarta EEAPIの一種であり、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

脚注

編集

関連項目

編集

参考文献

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

XML

Relaxer Java Architecture for XML Binding (JAXB) OpenOffice.org、AbiWord、およびAppleのiWorkなどのアプリケーションソフトウェアのネイティブファイルフォーマットは、XMLである。

XMLBeans

Version 5.0 リリース Java Architecture for XML Binding (JAXB) ^ Apache XMLBeans - The Apache Attic プロジェクト公式サイト XMLBeans resources The Apache XML project XMLBean

Java Community Process

Java コミュニティ・プロセス(英: Java community process)またはJCPは、1998年に設立され、利害関係者が Java プラットフォームの将来のバージョンや機能に関与する定義に関与することを許した標準化の手続きである。 JCP は Java の仕様に関する要望をまとめる Java

Javaバージョン履歴

Scripting for the Java Platform(スクリプト言語との連携サポート) Java Architecture for XML Binding(Java XMLアーキテクチャ) Java API for XML Web Services(WEB向けのXML) Java Compiler

Java Web Services Development Pack

1.3 Java Architecture for XML Binding (JAXB), v 1.0 and 2.0 JAX-RPC v 1.1 JAX-WS v 2.0 SAAJ (SOAP with Attachments API for Java) Java API for XML Registries

データバインディング

framework) Java Apache Struts Apache XMLBeans Castor CookXml EMF (Eclipse Modeling Framework) Hibernate JAXB (Java Architecture for XML Binding) JiBX Oracle

3DCGソフトウェア

Free CAD Addon for Blender BlenderNation 2022年4月28日 ^ Live Measure Pro CGPress 2014年5月16日 ^ MeasureIt-ARCH: Dimension lines for architecture in Blender Blender