Die API XML:DB für native XML-Datenbanken und ihre Implementierung in Apache Xindice

Die API ist in IDL geschrieben, wobei eine Implementierung in andere Sprachen wie Java oder C++ möglich ist, sofern diese objektorientiert sind.Dieses Hersteller-übergreifende Konzept ermöglicht die Unterstützung von nahezu allen existierenden Datenbanken. Mit einer nativen XML-Lösung ist es nicht notwendig, die XML-Daten in andere Datenstrukturen umzuwandeln; die Daten werden innerhalb des XML-Verarbeitungs-Workflows stets verfügbar gespeichert und gelesen.

Andererseits zählen zu den Vorteilen relationaler Datenstrukturen enorm schnelle Datenzugriffszeiten und eine mathematisch wohlfundierte relationale Theorie, außerdem ist diese Technologie seit langem bewährt. Die Leistungsvorteile einer relationalen Datenbank können jedoch durch das Mapping relationaler Strukturen auf XML vermindert werden.

Allgemein kann man die API XML:DB API mit Technologien wie ODBC, JDBC oder Perl DBI vergleichen.

Verwendung der XML:DB

Mit der API kann man:

  • mithilfe einer bekannten ID ein Dokument aus der Datenbank ermitteln, wenn die Ausgabe als DOM-Objekt gewünscht ist
  • mithilfe einer bekannten ID ein Dokument aus der Datenbank ermitteln, wenn die Ausgabe als XML-Text gewünscht ist
  • mithilfe einer bekannten ID ein Dokument aus der Datenbank ermitteln, wenn das Dokument über einen SAX Content Handler benutzt werden soll
  • einen binären BLOB der Datenbank ermitteln. Der BLOB wird über eine bekannte ID identifiziert. Die Datenbank muss die Daten als binär bestimmen und den eigenen Ressourcentyp ausgeben
  • mithilfe einer bekannten ID ein Dokument aus der Datenbank ermitteln, wenn die Ausgabe als DOM-Node-Objekt gewünscht ist
  • mithilfe einer bekannten ID ein neues DOM-Dokument in der Datenbank speichern
  • mithilfe einer bekannten ID mit einem SAX Content Handler ein neues Dokument in der Datenbank speichern
  • mithilfe einer bekannten ID ein neues XML-Textdokument in der Datenbank speichern
  • mithilfe einer bekannten ID eine bestehende Ressource aus der Datenbank entfernen
  • ein bestehendes, in der Datenbank gespeichertes DOM-Dokument aktualisieren
  • ein bestehendes, in der Datenbank gespeichertes XML-Textdokument aktualisieren
  • die verschiedenen Felder mit XPath-Ausdrücken durchsuchen, um die Ausgabe als DOM-Knoten zu bearbeiten
  • mehrere DOM-Dokumente unter Kontrolle durch eine Transaktion einfügen
  • die XUpdate-Sprache nutzen

Innerhalb der XML:DB-Initiative besteht neben den Schnittstellen IDL-API und Java eine Update-Sprache in Form einer gut aufgebauten XML-Sprache. XUpdate verwendet weitgehend die von Xpath definierte Ausdruckssprache zum Auswählen von Elementen für Aktualisierungen und Conditional Processing. XUpdate ist eine rein deskriptive Programmiersprache, die in Anlehnung an die Definitionen der XSL-Transformationen entwickelt wurde.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Salesforce: Mit Einstein GPT zurück auf die Überholspur?

Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.

6 Stunden ago

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

2 Tagen ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

2 Tagen ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

2 Tagen ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

3 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

3 Tagen ago