Sorry to wake up this quite old thread, but I didn't test since the
Ticket 616 has been fixed.
And, the fix don't work

Imagine a such sqlmap configuration file :
<?xml version="1.0" encoding="UTF-8" ?>
<sqlMapConfig>
<properties>
<property name="maps" value="SQL"/>
</properties>
<sqlMaps>
<sqlMap name="Menu" resource="${maps]/menu.xml"/>
</sqlMaps>
</sqlMapConfig>
With this directory structure :
protected/
...
Data/
SQL/
menu.xml
sqlmap.xml
...
If i run an app with SqlMap configured as this, I got an exception : 'Unable to find SQLMap configuration file '${maps}/menu.xml'.
If I remove the ${maps}, replacing it by SQL/, it works.
Now, if I look at TSqlMapConfiguration :
<?php
/*...*/
/**
* Load document using simple xml.
* @param string filename.
* @return SimpleXmlElement xml document.
*/
protected function loadXmlDocument($filename,TSqlMapXmlConfiguration $config)
{
if(!is_file($filename))
throw new TSqlMapConfigurationException(
'sqlmap_unable_to_find_config', $filename);
return simplexml_load_string($config->replaceProperties(file_get_contents($filename)));
}
/*...*/
public function configure($filename=null)
{
$this->_configFile=$filename;
$document = $this->loadXmlDocument($filename,$this);
foreach($document->xpath('//property') as $property)
$this->loadGlobalProperty($property);
foreach($document->xpath('//typeHandler') as $handler)
$this->loadTypeHandler($handler);
foreach($document->xpath('//connection[last()]') as $conn)
$this->loadDatabaseConnection($conn);
//try to load configuration in the current config file.
$mapping = new TSqlMapXmlMappingConfiguration($this);
$mapping->configure($filename);
foreach($document->xpath('//sqlMap') as $sqlmap)
$this->loadSqlMappingFiles($sqlmap);
$this->resolveResultMapping();
$this->attachCacheModels();
}
?>
loadXmlDocument call replaceProperties on the xml file to replace properties name to their value...
But, when it load the global configuration file (sqlmap.xml), properties are empty, because the file has not been parsed yet!
Am I right ? Or totally wrong ??

Thanks
Tof.