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 [Архівовано 31 серпня 2005 у Wayback Machine.]
- A JAXB Tutorial by Wolfgang Laun
- JSR 222 [Архівовано 26 січня 2021 у Wayback Machine.] (JAXB 2.0)
- JSR 31 [Архівовано 10 липня 2017 у Wayback Machine.] (JAXB 1.0)
- JAXB chapter of the Java EE 5 Tutorial [Архівовано 7 лютого 2009 у Wayback Machine.]
- JAXB Wizard [Архівовано 31 травня 2012 у Wayback Machine.]
- Generate an XML Document from an Object Model with JAXB 2 [Архівовано 29 жовтня 2020 у Wayback Machine.]
- JAXB 2.0
- XML and Java technologies: Data binding, Part 2: Performance [Архівовано 11 березня 2011 у Wayback Machine.]