Java-arkkitehtuuri XML-sidokseen

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 17. heinäkuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Java Architecture for XML Binding ( JAXB ) mahdollistaa Java -kehittäjien kartoittaa Java- luokkia ja XML - esityksiä. JAXB tarjoaa kaksi pääominaisuutta: Java - objektien järjestelyn XML-muotoon ja päinvastoin, eli XML- järjestyksen purkamisen takaisin Java-objektiksi. Toisin sanoen JAXB:n avulla voit tallentaa ja hakea tietoja muistiin missä tahansa XML-muodossa ilman, että sinun tarvitsee suorittaa tiettyjä XML-lataus- ja tallennustoimenpiteitä. Se on samanlainen kuin xsd.exeXmlSerializer .NET Frameworkissa .

JAXB on erityisen hyödyllinen, kun spesifikaatio on monimutkainen ja muuttuva. Tässä tapauksessa määritelmien XML-skeeman jatkuva muuttaminen niiden pitämiseksi synkronoituna Java-määritelmien kanssa voi olla aikaa vievää ja virhealtista.

JAXB on osa Java SE -alustaa ja yksi Java EE -alustan sovellusliittymistä ja osa Java Web Services Development Pack (JWSDP) -pakettia. Se on myös WSIT :n perusta . JAXB on osa SE-versiota 1.6.

JAXB 1.0 kehitettiin Java Community Processissa nimellä JSR 31. [1] Kuten vuonna 2006, JAXB 2.0:aa kehitetään JSR 222:n alla . [2] Näiden spesifikaatioiden viitetoteutus on saatavilla avoimen lähdekoodin CDDL-lisenssinä osoitteessa java.net . .

Käyttö

Xjc -työkalua voidaan käyttää XML-skeemojen ja muiden tiedostotyyppien skeemojen muuntamiseen (Java 1.6:sta alkaen RELAX NG , XML DTD ja WSDL ovat tuetut kokeellisesti) luokkaesityksiksi . [3] Luokat on merkitty nimiavaruuden javax.xml.bind.annotation .* huomautuksilla , kuten @XmlRootElement ja @XmlElement . XML-luettelosekvenssejä edustavat java.util.List -tyypin attribuutit . Serialisoijat ja deserialisoijat luodaan JAXBContext-instanssin kautta

Lisäksi JAXB sisältää " skeemagen "-työkalun, joka voi käytännössä tehdä käänteisen " xjc ":n luoden XML-skeeman joukosta huomautettuja luokkia.

Oletustietotyyppisidokset

Seuraavassa taulukossa on lueteltu JAXB:n XML Schema (XSD) -tietotyyppien ja Java-tietotyyppien yhdistäminen. [neljä]

XML Schema Type Java-tietotyyppi
xsd:string java.lang.string
xsd: kokonaisluku java.math.BigInteger
xsd:positiveInteger java.math.BigInteger
xsd:int int
xsd: pitkä pitkä
xsd: lyhyt lyhyt
xsd: desimaali java.math.BigDecimal
xsd: float kellua
xsd:double kaksinkertainen
xsd: Boolen boolean
xsd: tavu tavu
xsd:QName javax.xml.namespace.QName
xsd:dateTime javax.xml.datatype.XMLGregorianCalendar
xsd:base64Binaari tavu[]
xsd:hexBinary tavu[]
xsd: unsignedInt pitkä
xsd:unsignedShort int
xsd: unsignedByte lyhyt
xsd:unsignedLong java.math.BigDecimal
xsd: aika javax.xml.datatype.XMLGregorianCalendar
xsd: päivämäärä javax.xml.datatype.XMLGregorianCalendar
xsd:g javax.xml.datatype.XMLGregorianCalendar
xsd: anySimpleType (tämän tyypin elementeille) java.lang.Object
xsd: anySimpleType (tämän tyypin attribuuteille) java.lang.string
xsd: kesto javax.xml.datatype.Duration
xsd:NOTATION javax.xml.namespace.QName

Versiot

Katso myös

Muistiinpanot

  1. JSR:t: Java-määrityspyynnöt. JSR 31: XML-tietojen sidontamääritykset . Haettu 15. helmikuuta 2011. Arkistoitu alkuperäisestä 11. maaliskuuta 2011.
  2. JSR:t: Java-määrityspyynnöt. JSR 222: Java Architecture for XML Binding (JAXB) 2.0 . Haettu 15. helmikuuta 2011. Arkistoitu alkuperäisestä 12. helmikuuta 2011.
  3. xjc - Java-arkkitehtuuri XML-sidokseen . Haettu 15. helmikuuta 2011. Arkistoitu alkuperäisestä 17. maaliskuuta 2011.
  4. JAXB Data Bindingin käyttäminen: Standard Data Type Mapping . Haettu 7. elokuuta 2013. Arkistoitu alkuperäisestä 13. heinäkuuta 2013.
  5. Java SE7: Java XML -teknologian parannukset . Haettu 21. maaliskuuta 2012. Arkistoitu alkuperäisestä 9. maaliskuuta 2012.
  6. Java SE 6: Ominaisuudet ja parannukset . Haettu 21. maaliskuuta 2012. Arkistoitu alkuperäisestä 22. maaliskuuta 2012.
  7. Dennis Sosnowski. XML- ja Java-tekniikat: Tiedonsidonta, Osa 2: Suorituskyky . Haettu 15. helmikuuta 2011. Arkistoitu alkuperäisestä 11. maaliskuuta 2011.
  8. XML-sidontakehykset palvelukeskeisen arkkitehtuurin kontekstissa . Haettu 15. helmikuuta 2011. Arkistoitu alkuperäisestä 16. heinäkuuta 2011.

Linkit

Artikkelit