En gros, tu fais un semblant de driver ODBC pour fichiers XML..
De plus, XML offre l'avantage d'être libre de forme, alors que le langage SQL est prévu pour des DB relationnelles ou la forme reste stricte.
Et pour un minimum de performance il faudra des index et une gestion de la mémoire, et je vois mal comment traduire ça dans des fichiers lourds genre XML.
Pourquoi donc vouloir émuler SQL alors que du NoSQL (ie. une interface DB non lié à SQL) serait plus à même de profiter de la flexibilité d'Xml, ou pourquoi de pas mettre créer son propre mécanisme de stockage optimisé (avec du binaire, des B-tree, du qui tâche, bien burné) et une véritable gestion de la mémoire (bref, un DB SQL en php natif) ?
Enfin, juste comme ça, j'aime les défis démesurés (je viens de mettre en place un système de log d'évènements pour cms ou tout est stocké en binaire - avec un alphabet réduit de 32 caractères, qui me permet de stocker 3 caractères la ou ascii en mettrait 2 - inutile, contreproductif, mais très amusant).