X-Query versus SQLX

22.08.2002

X-Query ist eine Abfragessprache für "natives" (reines) XML, die von der im September 1999 gegründete XML Query Working Group des W3C entwickelt wird.

W3C zielt darauf ab, eine Query-Sprache zu erstellen, die die Ausdrucksmächtigkeit von SQL mit der Flexibilität und Einfachheit des XML-Datenmodells verbindet. Als weitere Aufgabe stellte sich das Gremium für X-Query, für alle einfachen Datentypen des Partnerstandards "XML-Schema" standardisierte Funktionen und Operatoren, also die eigentliche "Semantik" zu diesen Datentypen, zu entwickeln.

SQLX ist eine informelle Gruppe von Mitgliedern der ISO-SQL-Standardisierung (Microsoft, Oracle, IBM, Sybase, und Northrop Grumman), die seit September 2000 an SQL/XML arbeitet. Hauptziel von SQLX ist es, eine pragmatische Brücke zwischen den beiden "Killer-Applications" der (Server-)IT-Industrie - SQL-Datenbanken und XML-Datenaustausch - zu schlagen.

Alle genannten Hersteller haben bereits im Vorfeld proprietäre Erweiterungen vornehmlich zur Generierung von XML-Resultaten aus SQL-Anfrageergebnissen und Unterstützung von XML-Clobs (Character Large Objects) als einen "abstrakten Datentypen" mit (X-Path-orientierten) Erweiterungen zur Selektion von Dokumentteilen entwickelt. Naturgemäß sind sie daran interessiert, diese Erweiterungen bis zu einem gewissen Grad einander anzugleichen und als Standard zu adeln.

Wie stehen X-Query und SQLX zueinander? Das lässt sich in zwei Worten ausdrücken: partnerschaftlich und komplementär.

Partnerschaftlich: Beide Sprachen nutzen X-Path als Adressierungssprache für natives XML. SQLX übernimmt derzeit die W3C-Empfehlung

X-Path 1.0, während X-Query (gemeinsam mit der W3C XSLT Working Group) an X-Path 2.0 arbeitet. X-Path 2.0 umfasst ungefähr 75 Prozent von X-Query. Ich habe keinen Zweifel daran, dass alle genannten relationalen DB-Hersteller die fehlenden 25 Prozent von X-Query zu X-Path 2.0 auch implementieren und in ihr Produktportfolio aufnehmen (Microsoft, IBM und Oracle haben alle mehr oder weniger vollständige X-Query-Prototypen entwickelt).

Komplementär: SQLX stellt im Wesentlichen die Verbindung zwischen der SQL- und der XML-Welt her. In der typischen IT-Architektur wird die SQLX-Schnittstelle sehr eng an ein innerbetriebliches Datenbanksystem (und sein Schema) gekoppelt sein und unter der vollständigen Kontrolle des Datenbankadministrators liegen. X-Query stellt die Verbindung zwischen den XML-Welten her. In der typischen Webservice-Architektur wird X-Query für die lose Kopplung von Systemen (unternehmens- und herstellerübergreifend) mittels Message-orientiertem oder auch batch-orientiertem XML-Datenaustausch zuständig sein.

www.sqlx.org

www.w3.org/xml/query

Zur Startseite