XML-Ecke

Struktur in den Content!

MySQL lernt XML

Die neue Version der Datenbank MySQL enthält zwei Funktionen für den Umgang mit XML-Daten: Die Anweisung “ExtractValue” liest XML-Werte, die in einer MySQL-Tabelle enthalten sind. “UpdateXML” ersetzt vorhandene XML-Werte durch andere.

Angesprochen wird der Inhalt der jeweils benötigten XML-Elemente mit Hilfe von XPath. Für die Funktion ExtractValue() sind zwei Argumente erforderlich: eine XML-Zeichenkette xml_frag und ein XPath-Ausdruck für die eindeutige Lokalisierung eines XML-Elements.

XML mit MySQL 5.1

XML mit MySQL 5.1

In diesem Beispiel werden innerhalb der Anweisung ExtractValue zwei Elemente a und b definiert, zusamen mit Inhalten. Die XML-Elemente werden korrekt verschachtelt und dann mit XPath-Anweisungen angesprochen. Das Ergebnis ist eine kleine Tabelle mit den Inhalten im CDATA-Format, also als beliebige Zeichenkette.

Mit Hilfe der Anweisung LOAD_FILE kann auch eine XML-Datei in eine MySQL-Tabelle importiert werden, was allerdings ziemlich umständlich werden kann, wie MySQL-Entwickler Jon Stevens einräumt. In MySQL 6.0 soll es denn auch irgendwann eine Funktion LOAD XML geben, mit der die Bezeichnungen der Tags von XML-Elementen als Spaltenbezeichnungen der MySQL-Tabelle verwendet werden. Sun Microsystems verspricht eine kontinuierliche Weiterentwicklung der XML-Unterstützung:

“These functions remain under development. We continue to improve these and other aspects of XML and XPath functionality in MySQL 5.1 and onwards.”

Posted in Im Lauf der Zeit | Tagged , | Leave a comment

Neue Schnittstelle für ODF-Anwendungen

Das Open Document Format (ODF) bekommt eine frei zugängliche Programmierschnittstelle (API). Damit soll die Entwicklung von Anwendungen vereinfacht werden, um ODF-Dokumente zu lesen, zu erstellen oder zu bearbeiten, ohne sich erst tief in die Spezifikation des Format vergraben zu müssen. Gedacht ist an Content-Management-Systeme oder Systeme für den Dokumenten-Workflow.

Die API soll Teil eines größer angelegten ODF Toolkits sein, zu dessen Unterstützern Sun Microsystems und IBM gehören. Sun hat schon mal einen ODF Validator beigesteuert, eine Java-Applikation, die die Konformität von ODF-Dokumenten überprüft. 

Im Zentrum der API steht ODFDOM. Dieses Document Object Model (DOM) definiert alle denkbaren Bestandteile des Dokumentenformats in einer Baumstruktur und verwendet ein Schichtenmodell:

 

ODFDOM Model

ODFDOM Model

 

 

Auf der Basisebene ganz unten geht es um die im ODF-Paket gespeicherten Dateien, also etwa die XML-Dateien oder Bilder. Die API kümmert sich darum, dass der gesamte Content des Dokuments in das Zip-Paket gepackt oder von dort herausgeholt werden. 

In der COM-Ebene werden die XML-Elemente, etwa aus der Datei content.xml verwendet, um gezielt auf einzelne Bestandteile zugreifen zu können. Auf der Grundlage des DOM-Konzepts wird jedem Element eine Java-Klasse zugeordnet.

Die zweite Ebene von oben behandelt allgemeine Funktionen für die Benutzerführung einer ODF-Anwendung, und in der obersten Ebene werden nutzerspezifische Einstellungen der Anwendung geregelt.

In der Baumstruktur des ODFDOM-Modells sind diese Ebenen dann mit jeweils zugehörigen Elementen bzw. Java-Klassen besetzt:

 

ODFDOM Klassenmodell

ODFDOM Klassenmodell

Posted in Im Lauf der Zeit | Tagged , , | 1 Comment

Gosling: “HTML ist ein tragischer Standard”

Eine saubere Weiterentwicklung von HTML wünscht sich Java-Vordenker James Gosling. Am Rande der “Sun Tech Days” in Frankfurt am Main sagte Gosling: “Es ist eine Tragödie, dass der HTML-Standard nicht wirklich existiert.”

James Gosling in FrankfurtDie SGML-Vorgaben würden in großen Teilen eklatant verletzt. Die gegenwärtige HTML-Spezifikation sei nur “eine Sammlung von Bugs der Browser von Netscape bis Internet Explorer”. Wörtlich sagte Gosling “HTML is a tragic standard that is not a standard.” Und was hält Gosling dann von einem sauberen XHTML? Dieser Standard sei von den meisten Leuten nicht angenommen worden, da er ihnen zu strenge Vorgaben mache. “Sie wollen, dass die Dinge ein wenig lockerer gehandhabt werden.” Deshalb wünsche er sich für die Weiterentwicklung der eigenwilligen Webseiten-Beschreibungssprache, dass diese künftig etwas menschenfreundlicher (“human-friendly”) werden sollte. Die Zusammenarbeit von Java und XML hält Gosling für reibungslos. Es gebe viele APIs, die den Umgang mit XML-Daten in Java-Anwendungen vereinfachten. “XML ist wirklich großartig für Interoperabilität”, sagte der “Vater von Java”. Nur wenn es um die Bandbreite im Netz gehe, würden die Nachteile einer XML-Datenbank sichtbar.

Posted in Im Lauf der Zeit | Tagged , , | Leave a comment