瀏覽代碼

Removed a parent gedmo node from all nodes as the namespace prefix tells us where node belongs.

Miha Vrhovnik 14 年之前
父節點
當前提交
6ead016ca7

+ 5 - 5
README.markdown

@@ -20,12 +20,12 @@ required, and can be attached to many different type object managers, currently
 Notice xml: Please note, that xml mapping needs to be in a different namespace, the declared namespace for
 Doctrine extensions is http://gediminasm.org/schemas/orm/doctrine-extensions-mapping
 So root node now looks like this:
-```xml
-<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
+
+ <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                   xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping">
-...
-</doctrine-mapping>
-```
+ ...
+ </doctrine-mapping>
+
 
 ## Important
 

+ 9 - 9
lib/Gedmo/Loggable/Mapping/Driver/Xml.php

@@ -46,14 +46,15 @@ class Xml extends BaseXml
          */
         $xml = $this->_getMapping($meta->name);
         $xmlDoctrine = $xml;
+
         $xml = $xml->children(self::GEDMO_NAMESPACE_URI);
 
-        if (($xmlDoctrine->getName() == 'entity' || $xmlDoctrine->getName() == 'mapped-superclass') && isset($xml->gedmo)) {
-            if (isset($xml->gedmo->loggable)) {
+        if ($xmlDoctrine->getName() == 'entity' || $xmlDoctrine->getName() == 'mapped-superclass') {
+            if (isset($xml->loggable)) {
                 /**
                  * @var SimpleXMLElement $data;
                  */
-                $data = $xml->gedmo->loggable;
+                $data = $xml->loggable;
                 $config['loggable'] = true;
                 if ($this->_isAttributeSet($data, 'log-entry-class')) {
                     $class = $this->_getAttribute($data, 'log-entry-class');
@@ -94,13 +95,12 @@ class Xml extends BaseXml
 
             $isAssoc = $this->_isAttributeSet($mappingDoctrine, 'field');
             $field = $this->_getAttribute($mappingDoctrine, $isAssoc ? 'field' : 'name');
-            if (isset($mapping->gedmo)) {
-                if (isset($mapping->gedmo->versioned)) {
-                    if ($isAssoc && !$meta->associationMappings[$field]['isOwningSide']) {
-                        throw new InvalidMappingException("Cannot version [{$field}] as it is not the owning side in object - {$meta->name}");
-                    }
-                    $config['versioned'][] = $field;
+
+            if (isset($mapping->versioned)) {
+                if ($isAssoc && !$meta->associationMappings[$field]['isOwningSide']) {
+                    throw new InvalidMappingException("Cannot version [{$field}] as it is not the owning side in object - {$meta->name}");
                 }
+                $config['versioned'][] = $field;
             }
         }
     }

+ 29 - 31
lib/Gedmo/Sluggable/Mapping/Driver/Xml.php

@@ -60,40 +60,38 @@ class Xml extends BaseXml
                 $mapping = $mapping->children(self::GEDMO_NAMESPACE_URI);
 
                 $field = $this->_getAttribute($mappingDoctrine, 'name');
-                if (isset($mapping->gedmo)) {
-                    if (isset($mapping->gedmo->sluggable)) {
-                        if (!$this->isValidField($meta, $field)) {
-                            throw new InvalidMappingException("Cannot slug field - [{$field}] type is not valid and must be 'string' in class - {$meta->name}");
-                        }
-                        $options = array('position' => false, 'field' => $field);
-                        if ($this->_isAttributeSet($mapping->gedmo->sluggable, 'position')) {
-                            $options['position'] =  (int)$this->_getAttribute($mapping->gedmo->sluggable, 'position');
-                        }
-                        $config['fields'][] = $options;
-                    } elseif (isset($mapping->gedmo->slug)) {
-                        /**
-                         * @var \SimpleXmlElement $slug
-                         */
-                        $slug = $mapping->gedmo->slug;
-                        if (!$this->isValidField($meta, $field)) {
-                            throw new InvalidMappingException("Cannot use field - [{$field}] for slug storage, type is not valid and must be 'string' in class - {$meta->name}");
-                        }
-                        if (isset($config['slug'])) {
-                            throw new InvalidMappingException("There cannot be two slug fields: [{$slug}] and [{$config['slug']}], in class - {$meta->name}.");
-                        }
-                        $config['slug'] = $field;
-                        $config['style'] = $this->_isAttributeSet($slug, 'style') ?
-                            $this->_getAttribute($slug, 'style') : 'default';
+                if (isset($mapping->sluggable)) {
+                    if (!$this->isValidField($meta, $field)) {
+                        throw new InvalidMappingException("Cannot slug field - [{$field}] type is not valid and must be 'string' in class - {$meta->name}");
+                    }
+                    $options = array('position' => false, 'field' => $field);
+                    if ($this->_isAttributeSet($mapping->sluggable, 'position')) {
+                        $options['position'] =  (int)$this->_getAttribute($mapping->sluggable, 'position');
+                    }
+                    $config['fields'][] = $options;
+                } elseif (isset($mapping->slug)) {
+                    /**
+                     * @var \SimpleXmlElement $slug
+                     */
+                    $slug = $mapping->slug;
+                    if (!$this->isValidField($meta, $field)) {
+                        throw new InvalidMappingException("Cannot use field - [{$field}] for slug storage, type is not valid and must be 'string' in class - {$meta->name}");
+                    }
+                    if (isset($config['slug'])) {
+                        throw new InvalidMappingException("There cannot be two slug fields: [{$slug}] and [{$config['slug']}], in class - {$meta->name}.");
+                    }
+                    $config['slug'] = $field;
+                    $config['style'] = $this->_isAttributeSet($slug, 'style') ?
+                        $this->_getAttribute($slug, 'style') : 'default';
 
-                        $config['updatable'] = $this->_isAttributeSet($slug, 'updatable') ?
-                            (bool)$this->_getAttribute($slug, 'updatable') : true;
+                    $config['updatable'] = $this->_isAttributeSet($slug, 'updatable') ?
+                        (bool)$this->_getAttribute($slug, 'updatable') : true;
 
-                        $config['unique'] = $this->_isAttributeSet($slug, 'unique') ?
-                            (bool)$this->_getAttribute($slug, 'unique') : true;
+                    $config['unique'] = $this->_isAttributeSet($slug, 'unique') ?
+                        (bool)$this->_getAttribute($slug, 'unique') : true;
 
-                        $config['separator'] = $this->_isAttributeSet($slug, 'separator') ?
-                            $this->_getAttribute($slug, 'separator') : '-';
-                    }
+                    $config['separator'] = $this->_isAttributeSet($slug, 'separator') ?
+                        $this->_getAttribute($slug, 'separator') : '-';
                 }
             }
         }

+ 2 - 2
lib/Gedmo/Timestampable/Mapping/Driver/Xml.php

@@ -56,11 +56,11 @@ class Xml extends BaseXml
             foreach ($mapping->field as $fieldMapping) {
                 $fieldMappingDoctrine = $fieldMapping;
                 $fieldMapping = $fieldMapping->children(self::GEDMO_NAMESPACE_URI);
-                if (isset($fieldMapping->gedmo) && isset($fieldMapping->gedmo->timestampable)) {
+                if (isset($fieldMapping->timestampable)) {
                     /**
                      * @var \SimpleXmlElement $data
                      */
-                    $data = $fieldMapping->gedmo->timestampable;
+                    $data = $fieldMapping->timestampable;
 
                     $field = $this->_getAttribute($fieldMappingDoctrine, 'name');
                     if (!$this->isValidField($meta, $field)) {

+ 6 - 8
lib/Gedmo/Translatable/Mapping/Driver/Xml.php

@@ -41,15 +41,15 @@ class Xml extends BaseXml
          */
         $xml = $this->_getMapping($meta->name);
         $xmlDoctrine = $xml;
-        
+
         $xml = $xml->children(self::GEDMO_NAMESPACE_URI);
 
-        if (($xmlDoctrine->getName() == 'entity' || $xmlDoctrine->getName() == 'mapped-superclass') && isset($xml->gedmo)) {
-            if (isset($xml->gedmo->translation)) {
+        if (($xmlDoctrine->getName() == 'entity' || $xmlDoctrine->getName() == 'mapped-superclass')) {
+            if (isset($xml->translation)) {
                 /**
                  * @var \SimpleXmlElement $data
                  */
-                $data = $xml->gedmo->translation;
+                $data = $xml->translation;
                 if ($this->_isAttributeSet($data, 'locale')) {
                     $config['locale'] = $this->_getAttribute($data, 'locale');
                 } elseif ($this->_isAttributeSet($data, 'language')) {
@@ -73,10 +73,8 @@ class Xml extends BaseXml
                  */
                 $mapping = $mapping->children(self::GEDMO_NAMESPACE_URI);
                 $field = $this->_getAttribute($mappingDoctrine, 'name');
-                if (isset($mapping->gedmo)) {
-                    if (isset($mapping->gedmo->translatable)) {
-                        $config['fields'][] = $field;
-                    }
+                if (isset($mapping->translatable)) {
+                    $config['fields'][] = $field;
                 }
             }
         }

+ 29 - 28
lib/Gedmo/Tree/Mapping/Driver/Xml.php

@@ -70,16 +70,16 @@ class Xml extends BaseXml
         $xmlDoctrine = $xml;
         $xml = $xml->children(self::GEDMO_NAMESPACE_URI);
 
-        if ($xmlDoctrine->getName() == 'entity' && isset($xml->gedmo)) {
-            if (isset($xml->gedmo->tree) && $this->_isAttributeSet($xml->gedmo->tree, 'type')) {
-                $strategy = $this->_getAttribute($xml->gedmo->tree, 'type');
+        if ($xmlDoctrine->getName() == 'entity') {
+            if (isset($xml->tree) && $this->_isAttributeSet($xml->tree, 'type')) {
+                $strategy = $this->_getAttribute($xml->tree, 'type');
                 if (!in_array($strategy, $this->strategies)) {
                     throw new InvalidMappingException("Tree type: $strategy is not available.");
                 }
                 $config['strategy'] = $strategy;
             }
-            if (isset($xml->gedmo->{'tree-closure'}) && $this->_isAttributeSet($xml->gedmo->{'tree-closure'}, 'class')) {
-                $class = $this->_getAttribute($xml->gedmo->{'tree-closure'}, 'class');
+            if (isset($xml->{'tree-closure'}) && $this->_isAttributeSet($xml->{'tree-closure'}, 'class')) {
+                $class = $this->_getAttribute($xml->{'tree-closure'}, 'class');
                 if (!class_exists($class)) {
                     throw new InvalidMappingException("Tree closure class: {$class} does not exist.");
                 }
@@ -92,37 +92,38 @@ class Xml extends BaseXml
                 $mapping = $mapping->children(self::GEDMO_NAMESPACE_URI);
 
                 $field = $this->_getAttribute($mappingDoctrine, 'name');
-                if (isset($mapping->gedmo)) {
-                    if (isset($mapping->gedmo->{'tree-left'})) {
-                        if (!$this->isValidField($meta, $field)) {
-                            throw new InvalidMappingException("Tree left field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
-                        }
-                        $config['left'] = $field;
-                    } elseif (isset($mapping->gedmo->{'tree-right'})) {
-                        if (!$this->isValidField($meta, $field)) {
-                            throw new InvalidMappingException("Tree right field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
-                        }
-                        $config['right'] = $field;
-                    } elseif (isset($mapping->gedmo->{'tree-root'})) {
-                        if (!$this->isValidField($meta, $field)) {
-                            throw new InvalidMappingException("Tree root field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
-                        }
-                        $config['root'] = $field;
-                    } elseif (isset($mapping->gedmo->{'tree-level'})) {
-                        if (!$this->isValidField($meta, $field)) {
-                            throw new InvalidMappingException("Tree level field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
-                        }
-                        $config['level'] = $field;
+                if (isset($mapping->{'tree-left'})) {
+                    if (!$this->isValidField($meta, $field)) {
+                        throw new InvalidMappingException("Tree left field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
                     }
+                    $config['left'] = $field;
+                } elseif (isset($mapping->{'tree-right'})) {
+                    if (!$this->isValidField($meta, $field)) {
+                        throw new InvalidMappingException("Tree right field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
+                    }
+                    $config['right'] = $field;
+                } elseif (isset($mapping->{'tree-root'})) {
+                    if (!$this->isValidField($meta, $field)) {
+                        throw new InvalidMappingException("Tree root field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
+                    }
+                    $config['root'] = $field;
+                } elseif (isset($mapping->{'tree-level'})) {
+                    if (!$this->isValidField($meta, $field)) {
+                        throw new InvalidMappingException("Tree level field - [{$field}] type is not valid and must be 'integer' in class - {$meta->name}");
+                    }
+                    $config['level'] = $field;
                 }
             }
         }
 
         if (isset($xmlDoctrine->{'many-to-one'})) {
             foreach ($xmlDoctrine->{'many-to-one'} as $manyToOneMapping)  {
-            $manyToOneMappingDoctrine = $manyToOneMapping;
+                /**
+                 * @var \SimpleXMLElement $manyToOneMapping
+                 */
+                $manyToOneMappingDoctrine = $manyToOneMapping;
                 $manyToOneMapping = $manyToOneMapping->children(self::GEDMO_NAMESPACE_URI);;
-                if (isset($manyToOneMapping->gedmo) && isset($manyToOneMapping->gedmo->{'tree-parent'})) {
+                if (isset($manyToOneMapping->{'tree-parent'})) {
                     $field = $this->_getAttribute($manyToOneMappingDoctrine, 'field');
                     if ($meta->associationMappings[$field]['targetEntity'] != $meta->name) {
                         throw new InvalidMappingException("Unable to find ancestor/parent child relation through ancestor field - [{$field}] in class - {$meta->name}");

+ 37 - 44
schemas/orm/gedmo-doctrine-extension-mapping.xsd

@@ -3,12 +3,8 @@
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     targetNamespace="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping"
     xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping"
-    xmlns:orm="http://doctrine-project.org/schemas/orm/doctrine-mapping"
     elementFormDefault="qualified">
 
-  <xs:import namespace="http://doctrine-project.org/schemas/orm/doctrine-mapping"
-             schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"/>
-
   <xs:annotation>
     <xs:documentation><![CDATA[
        This is the XML Schema for the object/relational
@@ -37,60 +33,54 @@ people to push their own additional attributes/elements into the same field elem
     <xs:sequence>
       <xs:element name="sluggable" type="gedmo:sluggable" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="slug" type="gedmo:slug" minOccurs="0" maxOccurs="1"/>
-      <xs:element name="translatable" type="orm:emptyType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="translatable" type="gedmo:emptyType" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element name="timestampable" type="gedmo:timestampable" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="versioned" type="orm:emptyType" minOccurs="0" maxOccurs="unbounded"/>
-      <xs:element name="tree-left" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-      <xs:element name="tree-right" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-      <xs:element name="tree-level" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-      <xs:element name="tree-root" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="versioned" type="gedmo:emptyType" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="tree-left" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="tree-right" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="tree-level" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="tree-root" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
   </xs:complexType>
 
   <xs:complexType name="many-to-one-extension">
     <xs:sequence>
-      <xs:element name="versioned" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-      <xs:element name="tree-parent" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="versioned" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="tree-parent" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
   </xs:complexType>
 
   <xs:complexType name="one-to-one-extension">
     <xs:sequence>
-      <xs:element name="versioned" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-      <xs:element name="tree-parent" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="versioned" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
+      <xs:element name="tree-parent" type="gedmo:emptyType" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
   </xs:complexType>
 -->
   <!-- because of the above we have for now a root element gedmo with all choices -->
-  <xs:element name="gedmo">
-    <xs:complexType>
-      <xs:choice minOccurs="1" maxOccurs="unbounded">
-        <!-- entity -->
-        <xs:element name="translation" type="gedmo:translation" minOccurs="0" maxOccurs="1" />
-        <xs:element name="tree" type="gedmo:tree" minOccurs="0" maxOccurs="1" />
-        <xs:element name="tree-closure" type="gedmo:tree-closure" minOccurs="0" maxOccurs="1" />
-        <xs:element name="loggable" type="gedmo:loggable" minOccurs="0" maxOccurs="1" />
-        <!-- field -->
-        <xs:element name="sluggable" type="gedmo:sluggable" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="slug" type="gedmo:slug" minOccurs="0" maxOccurs="1"/>
-        <xs:element name="translatable" type="orm:emptyType" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="timestampable" type="gedmo:timestampable" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="versioned" type="orm:emptyType" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="tree-left" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        <xs:element name="tree-right" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        <xs:element name="tree-level" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        <xs:element name="tree-root" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        <!-- many-to-one -->
-        <!-- xs:element name="versioned" type="orm:emptyType" minOccurs="0" maxOccurs="1"/-->
-        <xs:element name="tree-parent" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        <!-- one-to-one -->
-        <!-- same as many-to-one
-        <xs:element name="versioned" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        <xs:element name="tree-parent" type="orm:emptyType" minOccurs="0" maxOccurs="1"/>
-        -->
-      </xs:choice>
-    </xs:complexType>
-  </xs:element>
+  <!-- entity -->
+  <xs:element name="translation" type="gedmo:translation"/>
+  <xs:element name="tree" type="gedmo:tree"/>
+  <xs:element name="tree-closure" type="gedmo:tree-closure"/>
+  <xs:element name="loggable" type="gedmo:loggable"/>
+  <!-- field -->
+  <xs:element name="sluggable" type="gedmo:sluggable"/>
+  <xs:element name="slug" type="gedmo:slug"/>
+  <xs:element name="translatable" type="gedmo:emptyType"/>
+  <xs:element name="timestampable" type="gedmo:timestampable"/>
+  <xs:element name="versioned" type="gedmo:emptyType"/>
+  <xs:element name="tree-left" type="gedmo:emptyType"/>
+  <xs:element name="tree-right" type="gedmo:emptyType"/>
+  <xs:element name="tree-level" type="gedmo:emptyType"/>
+  <xs:element name="tree-root" type="gedmo:emptyType"/>
+  <!-- many-to-one -->
+  <!-- xs:element name="versioned" type="gedmo:emptyType"/-->
+  <xs:element name="tree-parent" type="gedmo:emptyType"/>
+  <!-- one-to-one -->
+  <!-- same as many-to-one
+  <xs:element name="versioned" type="gedmo:emptyType"/>
+  <xs:element name="tree-parent" type="gedmo:emptyType"/>
+  -->
 
   <xs:complexType name="translation">
     <xs:attribute name="entity" type="xs:string" use="optional" />
@@ -127,6 +117,9 @@ people to push their own additional attributes/elements into the same field elem
     <xs:attribute name="value" type="xs:string" use="optional" />
   </xs:complexType>
 
+  <xs:complexType name="emptyType">
+  </xs:complexType>
+
   <xs:simpleType name="tree-type">
     <xs:restriction base="xs:token">
       <xs:enumeration value="nested"/>
@@ -149,4 +142,4 @@ people to push their own additional attributes/elements into the same field elem
     </xs:restriction>
   </xs:simpleType>
 
-</xs:schema>
+</xs:schema>

+ 4 - 7
tests/Gedmo/Mapping/Driver/Xml/Mapping.Fixture.Xml.ClosureTree.dcm.xml

@@ -13,15 +13,12 @@
 
         <many-to-one field="parent" target-entity="ClosureTree">
             <join-column name="parent_id" referenced-column-name="id" on-delete="CASCADE"/>
-            <gedmo:gedmo>
-                <gedmo:tree-parent/>
-            </gedmo:gedmo>
+            <gedmo:tree-parent/>
         </many-to-one>
 
-        <gedmo:gedmo>
-            <gedmo:tree type="closure"/>
-            <gedmo:tree-closure class="Mapping\Fixture\ClosureTreeClosure"/>
-        </gedmo:gedmo>
+        <gedmo:tree type="closure"/>
+        <gedmo:tree-closure class="Mapping\Fixture\ClosureTreeClosure"/>
+
     </entity>
 
 </doctrine-mapping>

+ 4 - 9
tests/Gedmo/Mapping/Driver/Xml/Mapping.Fixture.Xml.Loggable.dcm.xml

@@ -10,20 +10,15 @@
         </id>
 
         <field name="title" type="string" length="128">
-            <gedmo:gedmo>
-                <gedmo:versioned/>
-            </gedmo:gedmo>
+            <gedmo:versioned/>
         </field>
         <many-to-one field="status" target-entity="Status">
             <join-column name="status_id" referenced-column-name="id"/>
-            <gedmo:gedmo>
-                <gedmo:versioned/>
-            </gedmo:gedmo>
+            <gedmo:versioned/>
         </many-to-one>
 
-        <gedmo:gedmo>
-            <gedmo:loggable log-entry-class="Gedmo\Loggable\Entity\LogEntry"/>
-        </gedmo:gedmo>
+        <gedmo:loggable log-entry-class="Gedmo\Loggable\Entity\LogEntry"/>
+
     </entity>
 
 </doctrine-mapping>

+ 7 - 18
tests/Gedmo/Mapping/Driver/Xml/Mapping.Fixture.Xml.NestedTree.dcm.xml

@@ -15,36 +15,25 @@
 
         <field name="name" type="string" length="128"/>
         <field name="left" column="lft" type="integer">
-            <gedmo:gedmo>
-                <gedmo:tree-left/>
-            </gedmo:gedmo>
+            <gedmo:tree-left/>
         </field>
         <field name="right" column="rgt" type="integer">
-            <gedmo:gedmo>
-                <gedmo:tree-right/>
-            </gedmo:gedmo>
+            <gedmo:tree-right/>
         </field>
         <field name="root" type="integer">
-            <gedmo:gedmo>
-                <gedmo:tree-root/>
-            </gedmo:gedmo>
+            <gedmo:tree-root/>
         </field>
         <field name="level" column="lvl" type="integer">
-            <gedmo:gedmo>
-                <gedmo:tree-level/>
-            </gedmo:gedmo>
+            <gedmo:tree-level/>
         </field>
 
         <many-to-one field="parent" target-entity="NestedTree">
             <join-column name="parent_id" referenced-column-name="id" on-delete="SET_NULL"/>
-            <gedmo:gedmo>
-                <gedmo:tree-parent/>
-            </gedmo:gedmo>
+            <gedmo:tree-parent/>
         </many-to-one>
 
-        <gedmo:gedmo>
-            <gedmo:tree type="nested"/>
-        </gedmo:gedmo>
+        <gedmo:tree type="nested"/>
+
     </entity>
 
 </doctrine-mapping>

+ 4 - 12
tests/Gedmo/Mapping/Driver/Xml/Mapping.Fixture.Xml.Sluggable.dcm.xml

@@ -8,24 +8,16 @@
         </id>
 
         <field name="title" type="string" length="128">
-            <gedmo:gedmo>
-                <gedmo:sluggable position="0"/>
-            </gedmo:gedmo>
+            <gedmo:sluggable position="0"/>
         </field>
         <field name="code" type="string" length="16">
-            <gedmo:gedmo>
-                <gedmo:sluggable/>
-            </gedmo:gedmo>
+            <gedmo:sluggable/>
         </field>
         <field name="ean" type="string" length="13">
-            <gedmo:gedmo>
-                <gedmo:sluggable position="1"/>
-            </gedmo:gedmo>
+            <gedmo:sluggable position="1"/>
         </field>
         <field name="slug" type="string" length="156" unique="true">
-            <gedmo:gedmo>
-                <gedmo:slug unique="true" style="camel" updatable="false" separator="_"/>
-            </gedmo:gedmo>
+            <gedmo:slug unique="true" style="camel" updatable="false" separator="_"/>
         </field>
     </entity>
 </doctrine-mapping>

+ 3 - 9
tests/Gedmo/Mapping/Driver/Xml/Mapping.Fixture.Xml.Timestampable.dcm.xml

@@ -9,19 +9,13 @@
         </id>
 
         <field name="created" type="datetime">
-            <gedmo:gedmo>
-                <gedmo:timestampable on="create"/>
-            </gedmo:gedmo>
+            <gedmo:timestampable on="create"/>
         </field>
         <field name="updated" type="datetime">
-            <gedmo:gedmo>
-                <gedmo:timestampable on="update"/>
-            </gedmo:gedmo>
+            <gedmo:timestampable on="update"/>
         </field>
         <field name="published" type="datetime" nullable="true">
-            <gedmo:gedmo>
-                <gedmo:timestampable on="change" field="status.title" value="Published"/>
-            </gedmo:gedmo>
+            <gedmo:timestampable on="change" field="status.title" value="Published"/>
         </field>
 
         <many-to-one field="status" target-entity="Status">

+ 4 - 9
tests/Gedmo/Mapping/Driver/Xml/Mapping.Fixture.Xml.Translatable.dcm.xml

@@ -10,19 +10,14 @@
         </id>
 
         <field name="title" type="string" length="128">
-            <gedmo:gedmo>
-                <gedmo:translatable/>
-            </gedmo:gedmo>
+            <gedmo:translatable/>
         </field>
         <field name="content" type="text">
-            <gedmo:gedmo>
-                <gedmo:translatable/>
-            </gedmo:gedmo>
+            <gedmo:translatable/>
         </field>
 
-        <gedmo:gedmo>
-            <gedmo:translation entity="Gedmo\Translatable\Entity\Translation" locale="locale"/>
-        </gedmo:gedmo>
+        <gedmo:translation entity="Gedmo\Translatable\Entity\Translation" locale="locale"/>
+
     </entity>
 
 </doctrine-mapping>