XML-DatenbindungXML-Datenbindung (englisch XML data binding) ist in der Objektorientierung der Prozess der Abbildung von XML-Dokumenten auf Objekte bzw. die Repräsentation von XML-Dokumenten durch Objekte und umgekehrt. Dieser Prozess erlaubt es Programmierern, auf XML-Daten über Objekte zuzugreifen ohne dabei XML-typische Mechanismen, wie XPath, DOM oder SAX, zu verwenden. Die zur Laufzeit einer Anwendung stattfindende Abbildung eines Objektes in XML-Daten nennt man dabei Marshalling oder Serialisierung. Der umgekehrte Weg, die Abbildung von XML-Daten in Objekte nennt man Unmarshalling oder Deserialisierung. FunktionsweiseXML-Datenbindung muss zur Abbildung von Objekten auf XML-Daten und umgekehrt Attribute der Objekte auf XML-Elemente abbilden. Dies kann je nach Aufgabenstellung beziehungsweise Unterstützung durch das verwendete XML-Bindungs-Framework auf unterschiedliche Art und Weise erfolgen:
Alle drei Methoden können auf unterschiedliche Art und Weise implementiert werden. So ist es beispielsweise bei einigen Frameworks möglich die benötigten Klassen erst zur Laufzeit zu generieren bzw. durch Bytecodemanipulation sogar ganz ohne eigene Klassen auszukommen. ProblemeXML-Schemas und Klassen lassen sich nicht immer vollständig aufeinander abbilden. Beispielsweise ist es oft schwierig, die bei beiden möglichen Kommentare aufeinander abzubilden. Darüber hinaus ist es oft problematisch, die Reihenfolge der XML-Elemente in Klassen abzubilden, während Selbst-Referenzen von Objekten in XML schwer abzubilden sind. Somit kann es der Fall sein, dass XML-Daten-Bindung nicht die gesamte Information der zu bindenden Elemente berücksichtigt. Moderne XML-Daten-Bindungs-Frameworks sind allerdings in der Lage, die vollständigen Informationen zu bewahren. AlternativeDie Alternative zu XML-Datenbindung ist die manuelle Serialisierung und Deserialisierung von Objekten in XML-Dokumente mittels bekannter XML-Techniken wie XPath, DOM oder SAX. Der wichtigste Nachteil dieser Alternative ist der Mehraufwand für die dazu notwendige eigene Implementierung und die damit verbundenen Folgekosten. Dies gilt allerdings nur für objekt-orientierte Laufzeitumgebungen. Wird stattdessen eine, idealerweise reine, XML Laufzeitumgebung verwendet, wie dies unter Verwendung von XQuery, XSLT und XProc möglich ist, verkürzen sich Entwicklungszeit und Folgekosten häufig, da hier, von vornherein, die Notwendigkeit zur objekt-orientierten XML-Datenbindung gar nicht erst entsteht, sondern die XML Daten von der Quelle bis zum Ziel, ohne Umwandlung in ein anderes Datenformat, durchgereicht werden können. Jedoch empfiehlt sich dies nur bei Verwendung Dokument-orientierter Datenbanken, die die Daten bereits als XML darstellen oder für statische Dateien im XML Format. XML Datenbindungs-FrameworksC++ und C
Java
.Net
Weblinks
Weitere Infos
|
Portal di Ensiklopedia Dunia