/**
* Constructor, similar to the parent constructor. For parameters that
* are of SimpleXmlElement, the tag name and its attribute names and values
* are expanded into a string.
*/
public function __construct($errorMessage)
{
$this->setErrorCode($errorMessage);
$errorMessage = $this->translateErrorMessage($errorMessage);
$args = func_get_args();
array_shift($args);
$n = count($args);
$tokens = array();
for ($i = 0; $i < $n; ++$i) {
if ($args[$i] instanceof SimpleXMLElement) {
$tokens['{' . $i . '}'] = $this->implodeNode($args[$i]);
} else {
$tokens['{' . $i . '}'] = TPropertyValue::ensureString($args[$i]);
}
}
parent::__construct(strtr($errorMessage, $tokens));
}