www.wikidata.de-de.nina.az
XMLBeans ist ein Softwarepaket fur Java das es ermoglicht Daten aus einem XML Schema heraus automatisch an Java Klassen zu binden Diesen Vorgang nennt man XML Datenbindung Dies ermoglicht ein Arbeiten mit XML Dokumenten ohne dass der Programmierer Schnittstellen zur Verarbeitung von XML wie SAX oder DOM verwenden muss XMLBeans ist ein Teil des Apache XML Projekts Apache XMLBeansBasisdatenMaintainer David Bau Cesar Andrei Patrick Calahan et al 1 Entwickler Apache Software FoundationAktuelle Version 4 0 2 16 Oktober 2020 Betriebssystem plattformubergreifendProgrammiersprache JavaKategorie XML DatenbindungLizenz Apache Lizenzxmlbeans apache org Inhaltsverzeichnis 1 Funktionsweise 1 1 Beispiel 2 Geschichte 3 Alternativen 4 Weblinks 5 EinzelnachweiseFunktionsweise BearbeitenApache XMLBeans verwendet eine XML Schema Definition um Java Klassen und Schnittstellen zu generieren Falls das XML Schema nicht vorhanden sein sollte kann Apache XMLBeans ein Schema basierend auf einem XML Dokument erzeugen Die von Apache XMLBeans generierten Java Klassen und Schnittstellen konnen wie bei den JavaBeans gelaufig mittels Getter und Setter Methoden bearbeitet werden Daruber hinaus kann von Java aus auch auf den Rest der XML Informationen wie die Reihenfolge der Elemente im XML Dokument zugegriffen werden XMLBeans beherrscht dabei alle Fahigkeiten von XML Schemas Apache XMLBeans bietet neben den Entwicklungswerkzeugen zum Generieren von XML Dokumenten und Java Klassen folgende drei Programmierschnittstellen XmlObject Die aus dem XML Schema generierten Java Klassen sind von XmlObject abgeleitet Sie enthalten streng typisierte Getter und Setter Methoden fur alle im XML Dokument definierten Elemente Komplexe XML Typen sind Referenzen auf andere XmlObjekte XmlObject selbst bietet Methoden um das Objekt inklusive seiner Referenzen zu validieren zu durchsuchen oder in ein XML zu verwandeln XmlCursor Reprasentiert eine Position im XML Dokument und bietet die Moglichkeit auf das XML Infoset zuzugreifen Mit Hilfe des XmlCursors ist es etwa moglich XQuery und XPath auf das XML Dokument anzuwenden das XML Dokument selbst durch Einfugen Verschieben Kopieren oder Loschen von XML Elementen zu verandern oder auf ganze Container Elemente Attribute Processing Instructions oder Kommentare zuzugreifen SchemaType Reprasentiert das hinter den XmlObjects liegende XML Schema als Objekt Damit lassen sich beispielsweise XML Dokumente erzeugen oder die Reihenfolge der Elemente auslesen Beispiel Bearbeiten Das folgende Beispiel basiert auf einer XML Schema Definition fur die Beschreibung eines Landes lt xml version 1 0 encoding UTF 8 gt lt xs schema targetNamespace http www openuri org domain country v1 xmlns tns http www openuri org domain country v1 xmlns xs http www w3 org 2001 XMLSchema elementFormDefault qualified attributeFormDefault unqualified version 1 0 gt lt xs element name Country type tns Country gt lt xs complexType name Country gt lt xs sequence gt lt xs element name Name type xs string gt lt xs element name Population type xs int gt lt xs element name Iso type tns Iso gt lt xs sequence gt lt xs complexType gt lt xs complexType name Iso gt lt xs annotation gt lt xs documentation gt ISO 3166 lt xs documentation gt lt xs annotation gt lt xs sequence gt lt xs element name Alpha2 type tns IsoAlpha2 gt lt xs element name Alpha3 type tns IsoAlpha3 gt lt xs element name CountryCode type tns IsoCountryCode gt lt xs sequence gt lt xs complexType gt lt xs simpleType name IsoCountryCode gt lt xs restriction base xs int gt lt xs totalDigits value 3 gt lt xs restriction gt lt xs simpleType gt lt xs simpleType name IsoAlpha2 gt lt xs restriction base xs string gt lt xs pattern value A Z 2 gt lt xs whiteSpace value collapse gt lt xs restriction gt lt xs simpleType gt lt xs simpleType name IsoAlpha3 gt lt xs restriction base xs string gt lt xs pattern value A Z 3 gt lt xs whiteSpace value collapse gt lt xs restriction gt lt xs simpleType gt lt xs schema gt Aus diesem Schema konnen jetzt mit den XMLBeans Werkzeugen scomp Schema Compiler oder xmlbeans ein Ant Task Java Klassen erzeugt werden welche XML Daten die dem gegebenen Schema entsprechen erzeugen und manipulieren konnen Der folgende Java Code zeigt wie damit ein XML Dokument erzeugt und validiert werden kann import org openuri domain country v1 Country die aus dem XML Schema erzeugte Country Klasse import org openuri domain country v1 Iso die aus dem XML Schema erzeugte Iso Klasse public class CountrySample public static void main String args Country country Country Factory newInstance country setName Liechtenstein country setPopulation 35446 siehe http de wikipedia org wiki Liechtenstein XML Ausgabe des Country Objektes System out println country xmlText Prufung ob das Country Objekt valide ist ist invalid weil es keine Iso hat System out println Country ist country validate valid invalid Fuge den komplexen Typ Iso dem Country Objekt hinzu Iso iso country addNewIso iso setAlpha2 LI siehe http de wikipedia org wiki ISO 3166 1 Kodierliste iso setAlpha3 LIE iso setCountryCode 438 XML Ausgabe des Country Objektes System out println country xmlText Prufung ob das Country Objekt valide ist ist jetzt valide System out println Document is country validate valid invalid Die aus dem XML Schema generierten Klassen Country und Iso konnen auch mittels org apache xmlbeans XmlBeans compileXsd dynamisch zur Laufzeit erzeugt werden Geschichte BearbeitenApache XMLBeans wurde 2003 unter dem Namen XMLBeans von David Bau gegrundet als dieser fur BEA Systems arbeitete Es basierte auf XMLMaps dem fruheren XML Binding Framework des BEA WebLogic Servers XMLBeans war ursprunglich ein proprietarer Bestandteil des Frameworks BEA WebLogic Workshop Am 27 Januar 2003 wurde es erstmals als Vorschauversion vorgestellt Am 24 September desselben Jahres spendete BEA XMLBeans der Apache Software Foundation wo es als Apache Incubator Projekt angenommen wurde Am 23 April 2004 wurde die Version 1 0 2 als erste Version bei Apache fertiggestellt Am 25 Juni desselben Jahres wurde XMLBeans ein Apache Top Level Projekt Am 30 Juni wurde die Version 2 0 veroffentlicht Sie enthielt unter anderem folgende Verbesserungen Verbesserte Integration von XQuery und XPath Unterstutzung von DOM Level 2 verbesserte Fehlerbehandlung Moglichkeiten die generierten XMLBeans zu erweitern Performanceverbesserungen Unterstutzung der mit Java 5 veroffentlichten Generics Generierung von XML Dokumenten aus XML Schemas und umgekehrt 3 Die aktuelle Version ist Apache XMLBeans 2 6 vom 14 August 2012 Sie brachte unter anderem einfaches Mappen von simplen Typen auf beliebige Java Klassen sowie viele kleine Erweiterungen und Fehlerbehebungen 3 Am 23 Mai 2014 wurde die Weiterentwicklung eingestellt Alternativen BearbeitenDie folgenden Frameworks fur das XML Binding in Java konnen als Alternative zu Apache XMLBeans verwendet werden Java Architecture for XML Binding JAXB Castor Framework JiBX CookXML XStream Apache Commons BetwixtWeblinks BearbeitenXMLBeans Homepage Das Apache XML ProjektEinzelnachweise Bearbeiten XMLBeans Committers XMLBeans Community xmlbeans apache org a b XMLBeans News Memento des Originals vom 8 Juli 2009 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 xmlbeans apache org Abgerufen von https de wikipedia org w index php title Apache XMLBeans amp oldid 226748562