#**##set( $attr = $elem )
#**##set( $name = $attr.Name )
#**##set( $transient = $attr.hasKeyInStereotypes("transient") )
#**##set( $final = $attr.hasKeyInStereotypes("final") )
#**##set( $type = $attr.AttrType )
#**##set( $emfType = $utility.getEMFTypeAsString($attr.AttrType, $engine) )
#**##set( $init = $utility.nullIfEmpty($utility.removeQuotes($attr.InitialValue)) )
#**##set( $volatile = $attr.CreateAccessMethods == 1 )
#**##set( $literalsForEnum = $attr.getParent().hasKeyInStereotypes("enum") )
#**##if ( $literalsForEnum )
#*   *#<eLiterals name="$name"## 
#*   *##if ($init)
#*      *# value="$init"##
#*   *##end
#*   *#/>
#**##else
#*   *#<eStructuralFeatures xsi:type=##
#*   *##if ($type.hasKeyInStereotypes("type") || $type.hasKeyInStereotypes("enum") || $utility.isBaseType($type))
#*      *#"ecore:EAttribute"##
#*   *##else
#*      *#"ecore:EReference" containment="true"##
#*   *##end
#*   *# name="$name" eType="$emfType"
#**#    transient="$transient"#if($init) defaultValueLiteral="$init"#end#if($volatile) volatile="true"#end#if($final) changeable="false"#end>
#*   *##parse("$lang/default:classDiag/class/annotations.vm" )
#*   *#</eStructuralFeatures>
#*   *##if( $final )
#*      *#$engine.warning("EMF does not support final attributes! Removing setter instead.",$elem)
#*   *##end
#*   *##if( $attr.isStatic() )
#*      *#$engine.warning("EMF does not support static attributes! Ignoring 'static'.",$elem)
#*   *##end
#**##end