www.wikidata.de-de.nina.az
Jakarta XML Binding JAXB fruher Java Architecture for XML Binding ist eine Programmschnittstelle in Java die es ermoglicht Daten aus einer XML Schema Instanz heraus automatisch an Java Klassen zu binden und diese Java Klassen aus einem XML Schema heraus zu generieren Diesen Vorgang nennt man XML Datenbindung Java Architecture for XML Binding JAXB BasisdatenMaintainer Metro ProjektEntwickler Sun MicrosystemsAktuelle Version 4 0 4 1 20 Oktober 2023 Aktuelle Vorabversion 4 0 15 Oktober 2021 Betriebssystem PlattformunabhangigProgrammiersprache JavaKategorie XML APILizenz Eclipse Distribution License Eclipse Public License 2 0 GPL linking exceptionprojects eclipse org projects ee4j jaxb implSomit ist ein Arbeiten mit XML Dokumenten moglich ohne dass der Entwickler direkt Schnittstellen zur Verarbeitung von XML wie SAX oder DOM verwenden muss JAXB 2 0 ist Teil der Java Platform Enterprise Edition 5 0 und der Standard Edition 6 0 Es ist ein Teil der Web Services Interoperability Technology WSIT JAXB 1 0 wurde vom Java Community Process als JSR 31 entwickelt JAXB 2 0 als JSR 222 Die Referenzimplementierung von JAXB ist Teil des Metro Projektes der GlassFish Community 2 Seit Version 9 ist JAXB nicht mehr Bestandteil der JRE und des JDK 3 4 Inhaltsverzeichnis 1 Objekt zu XML Transformation 2 Datenbindung 3 JAXB Binding Framework 4 Alternativen 5 Weblinks 6 EinzelnachweiseObjekt zu XML Transformation Bearbeiten nbsp Marshalling und UnmarshallingMarshalling generiert bei JAXB aus einem Baum von Java Objekten ein XML Dokument Dies ist eine spezielle Form der Serialisierung Anwendungsfalle fur diese Umwandlung sind beispielsweise Persistierung in einer Datei oder Ubertragung uber ein Netzwerk Der umgekehrte Weg heisst Unmarshalling eine spezielle Form der Deserialisierung Hierbei wird aus einem gegebenen XML Dokument wieder ein Baum von Java Objekten generiert Um eine solche Umwandlung eindeutig zu realisieren verwendet man XML Schemata Die verwendeten XML Dokumente gehorchen den im Schema definierten Regeln Man nennt sie auch Schema Instanzen Datenbindung BearbeitenDer Begriff der Datenbindung innerhalb dieses Konzeptes beschreibt einen Satz von Regeln welche die Abbildung Reprasentation des XML Schemas gegenuber den zu generierenden Java Objekten bestimmen Auf diese vorgegebenen Regeln kann durch Binding Customizations Einfluss genommen werden Dies kann durch Inline Notizen im XML Schema oder durch eine gesonderte Datei geschehen die dann dem Binding Compiler mit ubergeben wird Dieser hat dann die Aufgabe das XML Schema auf eine entsprechende Java Objekt Struktur abzubilden Die Tabelle unten listet die Abbildung der XML Schema Datentypen XSD zu den entsprechenden Datentypen in Java in JAXB auf 5 XML Schematyp Java Datentypxsd anySimpleType 6 java lang Objectxsd anySimpleType 7 java lang Stringxsd base64Binary b byte b xsd boolean b boolean b xsd byte b byte b xsd date javax xml datatype XMLGregorianCalendarxsd dateTime javax xml datatype XMLGregorianCalendarxsd decimal java math BigDecimalxsd double b double b xsd duration javax xml datatype Durationxsd float b float b xsd g javax xml datatype XMLGregorianCalendarxsd hexBinary b byte b xsd int b int b xsd integer java math BigIntegerxsd long b long b xsd NOTATION javax xml namespace QNamexsd positiveInteger java math BigIntegerxsd QName javax xml namespace QNamexsd short b short b xsd string java lang Stringxsd time javax xml datatype XMLGregorianCalendarxsd unsignedByte b short b xsd unsignedInt b long b xsd unsignedLong java math BigDecimalxsd unsignedShort b int b JAXB Binding Framework BearbeitenDas JAXB Binding Framework besteht im Kern aus drei Java Paketen jakarta xml bind jakarta xml bind util jakarta xml bind helpersDie letzten beiden Pakete liefern unterstutzende Funktionen fur das Hauptpaket jakarta xml bind Die Klasse JAXBContext aus jakarta xml bind stellt den Eingangspunkt zur Nutzung des Frameworks innerhalb einer eigenen Java Anwendung dar JAXBContext jc JAXBContext newInstance com acme foo com acme bar Unmarshaller u jc createUnmarshaller FooObject fooObj FooObject u unmarshal new File foo xml BarObject barObj BarObject u unmarshal new File bar xml Aus dem erstellten Kontext Objekt wird nun ein Unmarshaller generiert Mit diesem konnen dann die XML Daten auf Java Objekte abgebildet werden Seit JAXB 2 1 stellt die Hilfsklasse JAXB aus jakarta xml bind einen vereinfachten Weg dar dies zu erreichen Die Erzeugung des Kontextes und des Unmarshallers wird durch diese automatisch intern vorgenommen was gerade Einsteigern die Nutzung von JAXB erheblich erleichtert Nachteilig hierbei ist jedoch dass diese Objekte bei jedem Aufruf neu erzeugt werden sodass in einigen Anwendungsfallen ein Geschwindigkeitsnachteil resultiert FooObject fooObj JAXB unmarshal new File foo xml FooObject class BarObject barObj JAXB unmarshal new File bar xml BarObject class Um die Datenobjekte wieder zuruck in die XML Form zu bringen wird ein Marshaller aus dem Kontext Objekt erzeugt Ihm werden das Datenobjekt und ein Streamobjekt java io OutputStream oder java io Writer ubergeben Marshaller m jc createMarshaller m marshal fooObj System out Auch an dieser Stelle erleichtert JAXB 2 1 die Programmierung durch die Hilfsklasse JAXB welche den Marshaller intern erzeugt und somit zu kurzerem Quellcode fuhrt JAXB marshal fooObj System out Alternativen BearbeitenDie folgenden Java XML Binding Frameworks konnen als Alternative zu JAXB verwendet werden Apache XMLBeans Castor Framework JiBX CookXML XStream Apache Commons Betwixt Simple XML SerializationWeblinks BearbeitenJAXB Referenzimplementierung Referenzimplementierung und JAXB Spezifikation JAXB Tutorial JAXB Kapitel aus dem Java Web Services Tutorial von Sun Oracle Uberblick uber JAXB Sun Oracle Deutschsprachiges Tutorial In Java ist auch eine Insel Die Hilfsklasse JAXB jakarta eeEinzelnachweise Bearbeiten Release 4 0 4 20 Oktober 2023 abgerufen am 18 November 2023 JAXB Reference Implementation Memento des Originals vom 11 Juli 2007 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot jaxb dev java net Java SE 9 JSR 379 Final Release Specification APIs proposed for removal Abgerufen am 14 Mai 2019 englisch JEP 320 Remove the Java EE and CORBA Modules Abgerufen am 14 Mai 2019 englisch Using JAXB Data Binding Standard Data Type Mapping Abgerufen am 25 April 2014 for xsd element of this type for xsd attribute of this type Abgerufen von https de wikipedia org w index php title Jakarta XML Binding amp oldid 237536901