Java-arkitektur för XML-bindning

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 17 juli 2021; kontroller kräver 2 redigeringar .

Java Architecture for XML Binding ( JAXB ) tillåter Java - utvecklare att kartlägga Java - klasser och XML- representationer. JAXB tillhandahåller två huvudfunktioner: rangering av Java - objekt till XML och vice versa, det vill säga att radera från XML tillbaka till ett Java-objekt. Med andra ord låter JAXB dig lagra och hämta data i minnet i valfritt XML-format utan att behöva utföra en specifik uppsättning XML-laddnings- och sparaprocedurer. Det liknar xsd.exeoch XmlSerializer i .NET Framework .

JAXB är särskilt användbart när specifikationen är komplex och föränderlig. I det här fallet kan det vara tidskrävande och felbenäget att ständigt ändra XML-schemat för definitionerna för att hålla dem synkroniserade med Java-definitionerna.

JAXB är en del av Java SE - plattformen och är en av API :erna i Java EE-plattformen och är en del av Java Web Services Development Pack (JWSDP). Det är också grunden för WSIT . JAXB är en del av SE version 1.6.

JAXB 1.0 utvecklades under Java Community Process som JSR 31. [1] Liksom 2006 utvecklas JAXB 2.0 under JSR 222. [2] Referensimplementeringen för dessa specifikationer är tillgänglig som en CDDL-licens för öppen källkod på java.net .

Användning

Verktyget xjc kan användas för att konvertera XML-scheman och scheman av andra filtyper (från och med Java 1.6 stöds RELAX NG , XML DTD och WSDL experimentellt) till klassrepresentationer. [3] Klasser är markerade med kommentarer från namnutrymmet javax.xml.bind.annotation.* , såsom @XmlRootElement och @XmlElement . XML-listsekvenser representeras av attribut av typen java.util.List . Serializers och deserializers skapas via en JAXBContext-instans

Dessutom inkluderar JAXB ett " schemagen "-verktyg som i huvudsak kan göra det omvända till " xjc ", och genererar ett XML-schema från en uppsättning kommenterade klasser.

Standarddatatypbindningar

Följande tabell listar mappningar av XML Schema (XSD) datatyper och Java datatyper i JAXB. [fyra]

XML-schematyp Java datatyp
xsd:sträng java.lang.string
xsd: heltal java.math.BigInteger
xsd:positivtHeltal java.math.BigInteger
xsd:int int
xsd:lång lång
xsd: kort kort
xsd: decimal java.math.BigDecimal
xsd:float flyta
xsd:dubbel dubbel
xsd: booleskt booleskt
xsd: byte byte
xsd:QName javax.xml.namespace.QName
xsd:datumTid javax.xml.datatype.XMLGregorianCalendar
xsd:base64Binär byte[]
xsd:hexBinär byte[]
xsd: unsignedInt lång
xsd:unsignedShort int
xsd: unsignedByte kort
xsd:unsignedLong java.math.BigDecimal
xsd: tid javax.xml.datatype.XMLGregorianCalendar
xsd: datum javax.xml.datatype.XMLGregorianCalendar
xsd:g javax.xml.datatype.XMLGregorianCalendar
xsd: anySimpleType (för element av denna typ) java.lang.Object
xsd: anySimpleType (för attribut av denna typ) java.lang.string
xsd: varaktighet javax.xml.datatype.Duration
xsd: NOTATION javax.xml.namespace.QName

Versioner

Se även

Anteckningar

  1. JSR: Java Specification Requests. JSR 31: XML-databindningsspecifikation . Hämtad 15 februari 2011. Arkiverad från originalet 11 mars 2011.
  2. JSR: Java Specification Requests. JSR 222: Java Architecture for XML Binding (JAXB) 2.0 . Hämtad 15 februari 2011. Arkiverad från originalet 12 februari 2011.
  3. xjc - Java-arkitektur för XML-bindning . Hämtad 15 februari 2011. Arkiverad från originalet 17 mars 2011.
  4. Använda JAXB Data Binding: Standard Data Type Mapping . Hämtad 7 augusti 2013. Arkiverad från originalet 13 juli 2013.
  5. Java SE7: Java XML-teknikförbättringar . Hämtad 21 mars 2012. Arkiverad från originalet 9 mars 2012.
  6. Java SE 6: Funktioner och förbättringar . Hämtad 21 mars 2012. Arkiverad från originalet 22 mars 2012.
  7. Dennis Sosnowski. XML- och Java-teknologier: Databindning, Del 2: Prestanda . Hämtad 15 februari 2011. Arkiverad från originalet 11 mars 2011.
  8. XML Binding Frameworks in the Context of Service-Oriented Architecture . Hämtad 15 februari 2011. Arkiverad från originalet 16 juli 2011.

Länkar

Artiklar