JAXB
Java Архітектура для XML Binding (JAXB) дозволяє розробникам відображати(ставити у відповідність) класи Java у XML файли. JAXB має дві основні властивості: здатність створювати класи Java з XML і навпаки - створювати XML файли з класів Java.
JAXB особливо корисна, коли специфікація є складною і часто змінюється.
JAXB є частиною платформи Java SE і одним з інтерфейсів API у платформі Java EE, також є частиною Java Web Services Development Pack (JWSDP).
JAXB 1.0 був розроблений в рамках Java Community Process як JSR31. У 2006 році JAXB 2.0 розробляється в рамках JSR 222.
Використання
Інструмент "xjc" може бути використаний для конвертації XML Schema а також ряду інших схем(з версії Java 1.6 підтримуються експериментально RELAX NG, XML DTD, так WSDL) у класи Java.
Зв'язування по замовчуванню
Таблиця показує відповідність типів даних XML до типів даних Java в JAXB. [1]
| XML Schema Type | Java Data Type |
|---|---|
| xsd:string | java.lang.String |
| xsd:positiveInteger | 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:unsignedLong | java.math.BigDecimal |
| xsd:time | javax.xml.datatype.XMLGregorianCalendar |
| xsd:date | javax.xml.datatype.XMLGregorianCalendar |
| xsd:g | javax.xml.datatype.XMLGregorianCalendar |
| xsd:anySimpleType (for xsd:element of this type) | java.lang.Object |
| xsd:anySimpleType (for xsd:attribute of this type) | java.lang.String |
| xsd:duration | javax.xml.datatype.Duration |
| xsd:NOTATION | javax.xml.namespace.QName |
Посилання
- Using JAXB Data Binding: Standard Data Type Mapping. Архів оригіналу за 13 липня 2013. Процитовано 4 червня 2011.
Зовнішні джерела
- JAXB home page Reference Implementation on Project GlassFish
- previous JAXB home page
- A JAXB Tutorial by Wolfgang Laun
- JSR 222 (JAXB 2.0)
- JSR 31 (JAXB 1.0)
- JAXB chapter of the Java EE 5 Tutorial
- JAXB Wizard Архівовано 31 травня 2012 у Wayback Machine.