/**
  * @brief   Instancie la classe concrête correspondante à la signature de driver fournie
  * @param   $driverSignature   string   signature du driver
  * @return  DataGridSource
  * @throw   Exception
  */
 public final function &createNew($driverSignature)
 {
     $rv = null;
     $dgDriver =& DataSourceDriver::createNew($driverSignature);
     if ('xml' == $dgDriver->getScheme()) {
         System::import('System.DataGrid.DataSources.XmlDataGridSource');
         $rv =& new XmlDataGridSource($dgDriver);
         /**
          * @todo    Supprimer ce if = 'mysql' car on devrait pas avoir a connaitre le type de dbms
          *  modification du driver ?
          *  appel à une méthode statique de dbmsdatasource/dbmsdatagridsource ?
          */
     } elseif ('mysql' == $dgDriver->getScheme()) {
         System::import('System.DataGrid.DataSources.DbmsDataGridSource');
         $rv =& new DbmsDataGridSource($dgDriver);
     } else {
         throw new Exception('Unsupported datasource scheme');
     }
     return $rv;
 }
/*
System::export( $s->delete( $caddyId ), '-- Delete caddy --' );
*/
$caddy =& $s->loadById($caddyId);
if (is_null($caddy)) {
    $caddy =& new Caddy();
}
System::export($s->getDateUpdate(), '-- Last update time --');
$t =& new CaddyItem('AZERTY', 1, 0);
$caddy->removeCaddyItem($t);
$s->save();
$db->dispose();
System::export('-- saving to caddies.xml --');
System::import('System.DataSource.XmlDataSource');
System::import('System.Caddy.Storage.CaddyXmlBlobStorage');
$xml =& new XmlDataSource(DataSourceDriver::createNew('xml://caddies.xml/'));
$s =& new CaddyXmlBlobStorage($xml, $caddy);
$xml->connect();
System::export($s->save($caddyId));
$caddy =& $s->loadById($caddyId);
if (is_null($caddy)) {
    $caddy =& new Caddy();
}
$xml->dispose();
System::export($caddy->size(), '-- caddy\' size --');
System::export('-- iterate items --');
$iterator =& $caddy->getIterator();
while ($iterator->hasNext()) {
    $caddyItem =& $iterator->next();
    System::export($caddyItem, 'élément n°' . $iterator->key());
    $featIterator =& $caddyItem->getIterator();