XDAL
As you may have guessed, XDAL stands for XML Database Abstraction Layer. The goal of XDAL is to provide a way to describe a database with a set of XML files build on the E-R's database scheme, with each XML file describing a single database table. The XML are then processed by appropriate XSLTs, generating the code to access the table, defering all database-specific primitives to XDAL.
News
XDAL 0.5 released!
Finally, the time has come!
XDAL 0.5 has been released, and all the world can start to feel the power to handle an entire
DB with objects and without a line of SQL.
So, give it a try and run to download page!
The story so far
The project born with the need to have a way to access the database tables in an OO logical way, developing
a PHP web application built over a MySQL server; since then, there are been added to project three wrappers (for
PEAR, AdoDB and MySQL) and the stylesheets for PHP4 and PHP5 code.
The project is still in its early stage of development, and far from finished, thought working well and used in
production environments.
The strength of XDAL
You may wonder why we wrote down yet another database abstraction system when there are out there some really
impressive products like PEAR,
AdoDB or the DB_sql functionality of
PHPlib. Or even beside the
"DALs must die!" criticism.
The real weak point of such DALs is the low-level of abstraction. XDAL aims not to rewrite or
remap the database primitives to the standard SQL language, but to entirely hide the need to write SQL and to
know how the tables are implemented in the DBMS.
XDAL pushes the abstraction higher than all other DALs, giving to the programmer finished objects to manipulate -
and this is also the reason for the existence of PEAR and AdoDB wrappers.
XDAL provides the object, the finder, and the wrappers. What else should you need?
If you want to take a look to XDAL DTDs, here they are:
XDALObj.dtd
XDALRelation.dtd
Download XDAL
The last stable release is 0.5.1: you can download it from here
If you like living on the cutting edge, you can checkout the CVS for XDAL sourcecode and examples:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/amberle login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/amberle co xdal