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
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.”
