Java Architecture for XML Binding (JAXB) è una delle API della Java Enterprise Edition, fa parte del Java Web Services Development Pack (JWSDP) ed è una delle tecnologie di base del progetto Web Services Interoperability Technology (WSIT) promosso dalla Sun Microsystems; inoltre, a partire dalla versione 1.6, JAXB è inclusa anche in Java SE.

JAXB permette agli sviluppatori Java di effettuare il mapping tra classi e una loro corrispondente rappresentazione XML. JAXB fornisce la possibilità di serializzare oggetti Java in XML (marshalling) e di effettuare l'operazione inversa (unmarshalling), cioè permette di ottenere a partire da un file XML la corrispondente rappresentazione a oggetti Java. JAXB permette quindi di manipolare file XML senza la necessità di implementare alcuna routine specifica per il salvataggio e la lettura di dati.

JAXB 1.0 fu sviluppato nell'ambito del Java Community Process come JSR 31. Dal 2006, JAXB 2.0 viene sviluppata come JSR 222. L'implementazione delle specifiche di JAXB è disponibile sotto licenza CDDL.

Utilizzo

modifica

Il pacchetto JAXB include il compilatore xjc, che viene usato per convertire XML Schema e altri formati di descrizione XML (a partire da Java 1.6, il supporto a RELAX NG, XML DTD e WSDL è in fase di sperimentazione) in classi Java. Il meccanismo di mapping tra XML Schema e Java viene implementato mediante l'uso delle annotazioni definite nel package javax.xml.bind.annotation. Ad esempio @XmlRootElement e @XmlElement annotano le classi Java che rappresentano, rispettivamente, l'elemento radice del file XML e un elemento generico.

In aggiunta a xjc, JAXB fornisce anche schemagen, un compilatore che effettua l'operazione inversa di xjc, cioè la generazione di un file XML Schema a partire da un insieme di classi Java annotate secondo le specifiche di JAXB.

Binding predefiniti

modifica

La tabella seguente elenca il mapping di alcuni dei principali tipi definiti in XML Schema in tipi di dato Java.

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: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

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Windows XP

introdotta anche nel Service Pack 3 di Windows 2000. Il Service Pack 1a è stato distribuito nel 3 febbraio 2003 per rimuovere la Java Virtual Machine per via

JAX-WS

terminali di servizi web. JAX-WS fa parte del kit di sviluppo Java per Web service (Java Web Service Development Pack – JWSDP) e include Java Architecture for

Google Chrome

sperimentare le più recenti tecnologie open source basate sul web, come JavaScript, HTML5, WebGL, Canvas, SVG, CSS e altri. Tutti i progetti vengono inviati

Internet Explorer

was correct: Despite its multi-year development, IE 7 would offer only a negligible advantage over IE 6 in a key Web technology.» (italiano) «Il 7 agosto

ASP.NET

ad esempio JavaScript, in modo da attribuire un carattere di persistenza ad oggetti software, anche nell'ambito di un ambiente come il web, che è intrinsecamente

Apache OpenOffice

richiedono l'installazione di una Java Virtual Machine JVM di Sun o Oracle (esistono anche versioni ufficiali che non richiedono java o versioni non ufficiali

Prodotti Google

siti Web. Google PageSpeed Tools – ottimizzare le prestazioni della pagina web Google Web Toolkit – framework di sviluppo software open source Java che

Pixel 4a

2020. URL consultato l'11 novembre 2020. ^ (EN) Pixel 4a (5G) and Pixel 5 pack 5G speeds and so much more, su Google, 30 settembre 2020. URL consultato