A JAX-B (Java Architecture for XML Binding - Java Architektúra XML kötéshez) lehetővé teszi a Java fejlesztők számára, hogy feltérképezzék a Java osztályt XML reprezentáción keresztül. A JAXB két fő jellemzője: képes a Java objektumokat XML állományokba menteni és onnan visszatölteni. Más szavakkal, a JAXB képes a memóriából adatokat XML formátumúra átalakítani, anélkül, hogy meg kellene valósítani a programban az XML mentés és beolvasás műveleteket. Hasonlóan működik, mint az xsd.exe és az XmlSerializer a .NET keretrendszerben.

A JAX-B különösen hasznos, ha a specifikáció komplex és gyakran változik. Ebben az esetben rendszeresen változik az XML-séma definíciója azért, hogy a Java definíciókkal szinkronban tartsuk, ami sok időt vesz igénybe és növeli a hibák lehetőségét.

A JAX-B a Java SE platform része, és az egyik API a Java EE platformban, továbbá része a JWSDP-nek (Java Web Service Development Pack) is. Fontos része még a WSIT-nek. A JAX-B a Java SE 1.6 verziója óta létezik.

A JAX-B 1.0 kiadása a JSR 31 jelű Java Community Process fejlesztés eredménye. 2006 óta, a JAX-B 2.0 verziója a JSR 222 jelzésű fejlesztés keretein belül készül. A specifikációnak megfelelő referencia implementáció a CDDL licenc alatt érhető el a jaxb.java.net oldalon.

Használata Az xjc eszköz használható arra, hogy az XML-séma és más séma fájlokat (úgy mint Java 1.6, RELAX NG, XML DTD és WSDL támogatottak a tapasztalatok alapján) fogad és Java class-okat generál. Az osztályok a java.xml.bind.annotation.* névtérből származó annotációkkal vannak ellátva, például: @XmlRootElement és @XmlElement. Az XML listák a java.util.List adattípussal vannak megvalósítva. A létrehozó és a visszatöltő objektumok a JAXBContext egy példányán keresztül hozhatók létre.

Továbbá a JAX-B tartalmazza a schemagen eszközt, amely lényegében elvégzi az xjc munkájának ellenkezőjét (létrehozza az XML sémát annotált osztályok egy csoportja alapján).

Alapértelmezett adattípus kötések Az alábbi táblázat felsorolja a JAX-B-beli XML Schema (XSD) adattípusait Java adat típusokra leképezve. XML séma típus Java adattípusxsd:string java.lang.String xsd:positiveIntegerjava.math.BigInteger xsd:intint 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:unsignedLongjava.math.BigDecimalxsd: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

Verziók Java SE 7: JAX-B 2.2.3 (JSR 222, maintenance release 2) Java SE 6: JAX-B 2.0 (JSR 222)

Jegyzetek

Külső hivatkozások 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) The Java EE 5 Tutorial - Binding between XML Schema and Java Classes JAXB chapter of the Java EE 5 Tutorial JAXB Wizard

Cikkek Generate an XML Document from an Object Model with JAXB 2 JAXB 2.0 XML and Java technologies: Data binding, Part 2: Performance

Fordítás

Kategória:Java XML API-k