* @author Gediminas Morkevicius * @author Miha Vrhovnik * @package Gedmo.Timestampable.Mapping.Driver * @subpackage Xml * @link http://www.gediminasm.org * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ class Xml extends BaseXml { /** * {@inheritDoc} */ public function readExtendedMetadata($meta, array &$config) { /** * @var \SimpleXmlElement $xml */ $xml = $this->_getMapping($meta->name); $xmlDoctrine = $xml; $xml = $xml->children(self::GEDMO_NAMESPACE_URI); if ($xmlDoctrine->getName() == 'entity' || $xmlDoctrine->getName() == 'mapped-superclass') { if (isset($xml->{'soft-deleteable'})) { $field = $this->_getAttribute($xml->{'soft-deleteable'}, 'field-name'); if (!$field) { throw new InvalidMappingException('Field name for SoftDeleteable class is mandatory.'); } Validator::validateField($meta, $field); $config['softDeleteable'] = true; $config['fieldName'] = $field; } } } }