Architektura Java pro vazbu XML

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 17. července 2021; kontroly vyžadují 2 úpravy .

Java Architecture for XML Binding ( JAXB ) umožňuje vývojářům Java mapovat třídy Java a reprezentace XML . JAXB poskytuje dvě hlavní funkce: seřazování objektů Java do XML a naopak, to znamená unmarshaling z XML zpět do Java objektu. Jinými slovy, JAXB vám umožňuje ukládat a načítat data do paměti v libovolném formátu XML, aniž byste museli provádět specifickou sadu procedur načítání a ukládání XML. Je podobný xsd.exea XmlSerializer v .NET Framework .

JAXB je zvláště užitečný, když je specifikace složitá a mění se. V tomto případě může být neustálá změna schématu XML definic, aby byly synchronizovány s definicemi Java, časově náročné a náchylné k chybám.

JAXB je součástí platformy Java SE a je jedním z API platformy Java EE a je součástí Java Web Services Development Pack (JWSDP). Je také základem pro WSIT . JAXB je součástí SE verze 1.6.

JAXB 1.0 byl vyvinut v rámci Java Community Process jako JSR 31. [1] Stejně jako v roce 2006 je JAXB 2.0 vyvíjen podle JSR 222. [2] Referenční implementace pro tyto specifikace je dostupná jako CDDL open source licence na java.net .

Použití

Nástroj xjc lze použít k převodu schémat XML a schémat jiných typů souborů (od verze Java 1.6 jsou experimentálně podporovány RELAX NG , XML DTD a WSDL ) na reprezentace třídy. [3] Třídy jsou označeny anotacemi z jmenného prostoru javax.xml.bind.annotation.* , například @XmlRootElement a @XmlElement . Sekvence seznamů XML jsou reprezentovány atributy typu java.util.List . Serializátory a deserializátory se vytvářejí prostřednictvím instance JAXBContext

Kromě toho JAXB obsahuje nástroj " schemagen ", který v podstatě umí opak " xjc ", generuje schéma XML ze sady anotovaných tříd.

Výchozí vazby datových typů

Následující tabulka uvádí mapování datových typů XML Schema (XSD) a datových typů Java v JAXB. [čtyři]

Typ schématu XML Typ dat Java
xsd:string java.lang.string
xsd: celé číslo java.math.BigInteger
xsd:positiveInteger java.math.BigInteger
xsd:int int
xsd: dlouhý dlouho
xsd: krátký krátký
xsd: desítkové java.math.BigDecimal
xsd:float plovák
xsd:double dvojnásobek
xsd: boolean booleovský
xsd: byte byte
xsd:QName javax.xml.namespace.QName
xsd:dateTime javax.xml.datatype.XMLGregorianCalendar
xsd:base64Binary byte[]
xsd:hexBinary byte[]
xsd: unsignedInt dlouho
xsd:unsignedShort int
xsd: unsignedByte krátký
xsd:unsignedLong java.math.BigDecimal
xsd:time javax.xml.datatype.XMLGregorianCalendar
xsd: datum javax.xml.datatype.XMLGregorianCalendar
xsd:g javax.xml.datatype.XMLGregorianCalendar
xsd: anySimpleType (pro prvky tohoto typu) java.lang.Object
xsd: anySimpleType (pro atributy tohoto typu) java.lang.string
xsd: trvání javax.xml.datatype.Duration
xsd:NOTATION javax.xml.namespace.QName

Verze

Viz také

Poznámky

  1. JSR: Požadavky na specifikaci Java. JSR 31: Specifikace XML Data Binding . Získáno 15. února 2011. Archivováno z originálu 11. března 2011.
  2. JSR: Požadavky na specifikaci Java. JSR 222: Java Architecture for XML Binding (JAXB) 2.0 . Získáno 15. února 2011. Archivováno z originálu 12. února 2011.
  3. xjc - Java Architecture for XML Binding . Získáno 15. února 2011. Archivováno z originálu 17. března 2011.
  4. Použití JAXB Data Binding: Standardní mapování datových typů . Získáno 7. srpna 2013. Archivováno z originálu 13. července 2013.
  5. Java SE7: Vylepšení technologie Java XML . Získáno 21. března 2012. Archivováno z originálu 9. března 2012.
  6. Java SE 6: Funkce a vylepšení . Získáno 21. března 2012. Archivováno z originálu 22. března 2012.
  7. Dennis Sosnowski. Technologie XML a Java: Datové vazby, Část 2: Výkon . Získáno 15. února 2011. Archivováno z originálu 11. března 2011.
  8. XML Binding Frameworks v kontextu architektury orientované na služby . Získáno 15. února 2011. Archivováno z originálu 16. července 2011.

Odkazy

Články