uidesigner/com.nokia.sdt.component.symbian/com.nokia.sdt.emf.component.ecore
changeset 0 fb279309251b
equal deleted inserted replaced
-1:000000000000 0:fb279309251b
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <ecore:EPackage xmi:version="2.0"
       
     3     xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       
     4     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="component"
       
     5     nsURI="http://www.nokia.com/sdt/emf/component" nsPrefix="component">
       
     6   <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
     7     <details key="documentation" value="&#xD;&#xA;Type mappings are used to store mappings along with a type.  Added post 1.2&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#xD;&#xA;Member mappings are used to map a property to a member of a resource.&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;"/>
       
     8   </eAnnotations>
       
     9   <eClassifiers xsi:type="ecore:EClass" name="AbstractPropertyType">
       
    10     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    11       <details key="documentation" value="A base schema type for further property type declarations. Not used directly in components.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    12     </eAnnotations>
       
    13     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    14       <details key="name" value="abstractPropertyType"/>
       
    15       <details key="kind" value="empty"/>
       
    16     </eAnnotations>
       
    17     <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" unique="false"
       
    18         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
    19       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    20         <details key="documentation" value="The category grouping to be used in the property sheet. &#xD;&#xA;&#x9;&#x9;&#x9; If this value matches the key of a known group then the localized name is looked up within the Symbian component provider. Otherwise it is treated like a&#xD;&#xA;&#x9;&#x9;&#x9; potentially localized string, i.e. if it is %-prefixed a string is looked up in the properties file.&#xD;&#xA;&#x9;&#x9;&#x9; The special value of &quot;hidden&quot; will cause the property to be filtered from the property sheet.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    21       </eAnnotations>
       
    22       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    23         <details key="kind" value="attribute"/>
       
    24         <details key="name" value="category"/>
       
    25       </eAnnotations>
       
    26     </eStructuralFeatures>
       
    27     <eStructuralFeatures xsi:type="ecore:EAttribute" name="descriptionKey" unique="false"
       
    28         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
    29       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    30         <details key="documentation" value="A property key to descriptive text for the property to be displayed in the status bar&#xD;&#xA;&#x9;&#x9;&#x9;when the property is selected in the property sheet.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    31       </eAnnotations>
       
    32       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    33         <details key="kind" value="attribute"/>
       
    34         <details key="name" value="descriptionKey"/>
       
    35       </eAnnotations>
       
    36     </eStructuralFeatures>
       
    37     <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" unique="false"
       
    38         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
    39       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    40         <details key="documentation" value="The property name to be display in the user interface. Can contain spaces and other characters.&#xD;&#xA;&#x9;&#x9;&#x9;This value should be localized.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    41       </eAnnotations>
       
    42       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    43         <details key="kind" value="attribute"/>
       
    44         <details key="name" value="displayName"/>
       
    45       </eAnnotations>
       
    46     </eStructuralFeatures>
       
    47     <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorClass" unique="false"
       
    48         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
    49       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    50         <details key="documentation" value="The fully qualified name of a class implementing com.nokia.sdt.component.property.IPropertyEditorFactory.&#xD;&#xA;&#x9;&#x9;&#x9;This allows Java code to provide a label provider, cell editor, and validator for the property.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    51       </eAnnotations>
       
    52       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    53         <details key="kind" value="attribute"/>
       
    54         <details key="name" value="editorClass"/>
       
    55       </eAnnotations>
       
    56     </eStructuralFeatures>
       
    57     <eStructuralFeatures xsi:type="ecore:EAttribute" name="helpKey" unique="false"
       
    58         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
    59       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    60         <details key="documentation" value="A key to more detailed help for the property.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    61       </eAnnotations>
       
    62       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    63         <details key="kind" value="attribute"/>
       
    64         <details key="name" value="helpKey"/>
       
    65       </eAnnotations>
       
    66     </eStructuralFeatures>
       
    67     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
    68         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
    69       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    70         <details key="documentation" value="The internal name for the property. It must be unique within the component and its base&#xD;&#xA;&#x9;&#x9;&#x9;components. Since it may be used as an identifier in scripts it should be a legal JavaScript identifier.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    71       </eAnnotations>
       
    72       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    73         <details key="kind" value="attribute"/>
       
    74         <details key="name" value="name"/>
       
    75       </eAnnotations>
       
    76     </eStructuralFeatures>
       
    77     <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" unique="false"
       
    78         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
    79         defaultValueLiteral="false" unsettable="true">
       
    80       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    81         <details key="documentation" value="If true the property will be read-only in the property sheet.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    82       </eAnnotations>
       
    83       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    84         <details key="kind" value="attribute"/>
       
    85         <details key="name" value="readOnly"/>
       
    86       </eAnnotations>
       
    87     </eStructuralFeatures>
       
    88     <eStructuralFeatures xsi:type="ecore:EAttribute" name="resettable" unique="false"
       
    89         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
    90         defaultValueLiteral="true" unsettable="true">
       
    91       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
    92         <details key="documentation" value="If false the reset button will be disabled, inhibiting the user from reverting to the default value&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
    93       </eAnnotations>
       
    94       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
    95         <details key="kind" value="attribute"/>
       
    96         <details key="name" value="resettable"/>
       
    97       </eAnnotations>
       
    98     </eStructuralFeatures>
       
    99   </eClassifiers>
       
   100   <eClassifiers xsi:type="ecore:EClass" name="ArrayPropertyType" eSuperTypes="#//AbstractPropertyType">
       
   101     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   102       <details key="documentation" value="A concrete property type that is a dynamic array of property values. All values&#xD;&#xA;&#x9;&#x9;&#x9;are of the same type, which can be either a simple or compound property type.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   103     </eAnnotations>
       
   104     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   105       <details key="name" value="arrayPropertyType"/>
       
   106       <details key="kind" value="empty"/>
       
   107     </eAnnotations>
       
   108     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
       
   109         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   110       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   111         <details key="documentation" value="The element type. It must be either a propertyDataType value, such as &quot;integer&quot; &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;or &quot;localizedString&quot;, or the fully qualified name of a compound property type.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   112       </eAnnotations>
       
   113       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   114         <details key="kind" value="attribute"/>
       
   115         <details key="name" value="type"/>
       
   116       </eAnnotations>
       
   117     </eStructuralFeatures>
       
   118   </eClassifiers>
       
   119   <eClassifiers xsi:type="ecore:EClass" name="AttributesType">
       
   120     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   121       <details key="name" value="attributes_._type"/>
       
   122       <details key="kind" value="elementOnly"/>
       
   123     </eAnnotations>
       
   124     <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" lowerBound="1"
       
   125         upperBound="-1" eType="#//AttributeType" containment="true" resolveProxies="false">
       
   126       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   127         <details key="kind" value="element"/>
       
   128         <details key="name" value="attribute"/>
       
   129         <details key="namespace" value="##targetNamespace"/>
       
   130       </eAnnotations>
       
   131     </eStructuralFeatures>
       
   132   </eClassifiers>
       
   133   <eClassifiers xsi:type="ecore:EClass" name="AttributeType">
       
   134     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   135       <details key="name" value="attribute_._type"/>
       
   136       <details key="kind" value="simple"/>
       
   137     </eAnnotations>
       
   138     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   139       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   140         <details key="name" value=":0"/>
       
   141         <details key="kind" value="simple"/>
       
   142       </eAnnotations>
       
   143     </eStructuralFeatures>
       
   144     <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" unique="false" lowerBound="1"
       
   145         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   146       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   147         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   148       </eAnnotations>
       
   149       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   150         <details key="kind" value="attribute"/>
       
   151         <details key="name" value="key"/>
       
   152       </eAnnotations>
       
   153     </eStructuralFeatures>
       
   154   </eClassifiers>
       
   155   <eClassifiers xsi:type="ecore:EClass" name="ChoiceType">
       
   156     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   157       <details key="name" value="choice_._type"/>
       
   158       <details key="kind" value="elementOnly"/>
       
   159     </eAnnotations>
       
   160     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
   161         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
   162       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   163         <details key="kind" value="group"/>
       
   164         <details key="name" value="group:0"/>
       
   165       </eAnnotations>
       
   166     </eStructuralFeatures>
       
   167     <eStructuralFeatures xsi:type="ecore:EAttribute" name="twoWayMappingGroup" unique="false"
       
   168         upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
       
   169         volatile="true" transient="true" derived="true">
       
   170       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   171         <details key="kind" value="group"/>
       
   172         <details key="name" value="twoWayMapping:group"/>
       
   173         <details key="namespace" value="##targetNamespace"/>
       
   174         <details key="group" value="#group:0"/>
       
   175       </eAnnotations>
       
   176     </eStructuralFeatures>
       
   177     <eStructuralFeatures xsi:type="ecore:EReference" name="twoWayMapping" upperBound="-1"
       
   178         eType="#//TwoWayMappingType" changeable="false" volatile="true" transient="true"
       
   179         derived="true" containment="true" resolveProxies="false">
       
   180       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   181         <details key="kind" value="element"/>
       
   182         <details key="name" value="twoWayMapping"/>
       
   183         <details key="namespace" value="##targetNamespace"/>
       
   184         <details key="group" value="twoWayMapping:group"/>
       
   185       </eAnnotations>
       
   186     </eStructuralFeatures>
       
   187     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResource" upperBound="-1"
       
   188         eType="#//MapResourceType" volatile="true" transient="true" derived="true"
       
   189         containment="true" resolveProxies="false">
       
   190       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   191         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an instance to a RESOURCE.&#xD;&#xA;&#x9;&#x9;"/>
       
   192       </eAnnotations>
       
   193       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   194         <details key="kind" value="element"/>
       
   195         <details key="name" value="mapResource"/>
       
   196         <details key="namespace" value="##targetNamespace"/>
       
   197         <details key="group" value="#group:0"/>
       
   198       </eAnnotations>
       
   199     </eStructuralFeatures>
       
   200     <eStructuralFeatures xsi:type="ecore:EReference" name="select" upperBound="-1"
       
   201         eType="#//SelectType" volatile="true" transient="true" derived="true" containment="true"
       
   202         resolveProxies="false">
       
   203       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   204         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element encapsulates choice elements which allow conditional&#xD;&#xA;&#x9;&#x9;source mapping.  One choice must match or an error results (you can&#xD;&#xA;&#x9;&#x9;use an empty choice to match the default case if necessary).  Only&#xD;&#xA;&#x9;&#x9;the first matching choice is considered.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9; for the select statement.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;"/>
       
   205       </eAnnotations>
       
   206       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   207         <details key="kind" value="element"/>
       
   208         <details key="name" value="select"/>
       
   209         <details key="namespace" value="##targetNamespace"/>
       
   210         <details key="group" value="#group:0"/>
       
   211       </eAnnotations>
       
   212     </eStructuralFeatures>
       
   213     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   214       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   215         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The value to match.  If unspecified, the choice always matches.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   216       </eAnnotations>
       
   217       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   218         <details key="kind" value="attribute"/>
       
   219         <details key="name" value="value"/>
       
   220       </eAnnotations>
       
   221     </eStructuralFeatures>
       
   222   </eClassifiers>
       
   223   <eClassifiers xsi:type="ecore:EClass" name="CodeType">
       
   224     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   225       <details key="name" value="code_._type"/>
       
   226       <details key="kind" value="empty"/>
       
   227     </eAnnotations>
       
   228     <eStructuralFeatures xsi:type="ecore:EAttribute" name="class" unique="false" lowerBound="1"
       
   229         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   230       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   231         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Class in plugin.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   232       </eAnnotations>
       
   233       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   234         <details key="kind" value="attribute"/>
       
   235         <details key="name" value="class"/>
       
   236       </eAnnotations>
       
   237     </eStructuralFeatures>
       
   238     <eStructuralFeatures xsi:type="ecore:EAttribute" name="plugin" unique="false"
       
   239         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   240       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   241         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Plugin id&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   242       </eAnnotations>
       
   243       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   244         <details key="kind" value="attribute"/>
       
   245         <details key="name" value="plugin"/>
       
   246       </eAnnotations>
       
   247     </eStructuralFeatures>
       
   248   </eClassifiers>
       
   249   <eClassifiers xsi:type="ecore:EClass" name="ComponentDefinitionType">
       
   250     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   251       <details key="name" value="componentDefinition_._type"/>
       
   252       <details key="kind" value="elementOnly"/>
       
   253     </eAnnotations>
       
   254     <eStructuralFeatures xsi:type="ecore:EReference" name="compoundPropertyDeclaration"
       
   255         upperBound="-1" eType="#//CompoundPropertyDeclarationType" containment="true"
       
   256         resolveProxies="false">
       
   257       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   258         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Declares a compound type that may be referenced from one or more&#xD;&#xA;&#x9;&#x9;&#x9;compound property declarations in this or other component documents. All compound property declarations are in a global &#xD;&#xA;&#x9;&#x9;&#x9;namespace and must be declared as global elements.&#xD;&#xA;&#x9;&#x9;"/>
       
   259       </eAnnotations>
       
   260       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   261         <details key="kind" value="element"/>
       
   262         <details key="name" value="compoundPropertyDeclaration"/>
       
   263         <details key="namespace" value="##targetNamespace"/>
       
   264       </eAnnotations>
       
   265     </eStructuralFeatures>
       
   266     <eStructuralFeatures xsi:type="ecore:EReference" name="enumPropertyDeclaration"
       
   267         upperBound="-1" eType="#//EnumPropertyDeclarationType" containment="true"
       
   268         resolveProxies="false">
       
   269       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   270         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Declares an enumerated type that may be referenced from one or more&#xD;&#xA;&#x9;&#x9;&#x9;enumerated property declarations in this or other component documents. All enum property declarations are in a global &#xD;&#xA;&#x9;&#x9;&#x9;namespace and must be declared as global elements.&#xD;&#xA;&#x9;&#x9;"/>
       
   271       </eAnnotations>
       
   272       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   273         <details key="kind" value="element"/>
       
   274         <details key="name" value="enumPropertyDeclaration"/>
       
   275         <details key="namespace" value="##targetNamespace"/>
       
   276       </eAnnotations>
       
   277     </eStructuralFeatures>
       
   278     <eStructuralFeatures xsi:type="ecore:EReference" name="component" eType="#//ComponentType"
       
   279         containment="true" resolveProxies="false">
       
   280       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   281         <details key="documentation" value="&#xD;&#xA;        This is the container element for all the information about a single component.&#xD;&#xA;        "/>
       
   282       </eAnnotations>
       
   283       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   284         <details key="kind" value="element"/>
       
   285         <details key="name" value="component"/>
       
   286         <details key="namespace" value="##targetNamespace"/>
       
   287       </eAnnotations>
       
   288     </eStructuralFeatures>
       
   289   </eClassifiers>
       
   290   <eClassifiers xsi:type="ecore:EClass" name="ComponentReferencePropertyType" eSuperTypes="#//AbstractPropertyType">
       
   291     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   292       <details key="documentation" value="A concrete property type that maintains a reference to a component&#xD;&#xA;&#x9;&#x9;&#x9;instance in the same model. The reference is kept by name, and is maintained across renames of the target&#xD;&#xA;&#x9;&#x9;&#x9;instance. It is cleared automatically if the target instance is removed.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   293     </eAnnotations>
       
   294     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   295       <details key="name" value="componentReferencePropertyType"/>
       
   296       <details key="kind" value="empty"/>
       
   297     </eAnnotations>
       
   298     <eStructuralFeatures xsi:type="ecore:EAttribute" name="constraint" unique="false"
       
   299         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   300       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   301         <details key="documentation" value="If specified, this must be the fully qualified name of a component type. Values&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;are then constrained to be instances of this type, and the property sheet user interface displays a list of eligible&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;instances.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   302       </eAnnotations>
       
   303       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   304         <details key="kind" value="attribute"/>
       
   305         <details key="name" value="constraint"/>
       
   306       </eAnnotations>
       
   307     </eStructuralFeatures>
       
   308     <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationKeys" unique="false"
       
   309         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   310       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   311         <details key="documentation" value="An optional comma-delimited string containing a list of keys. When&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;present these keys are used to add &quot;create new xxx&quot; items to the dropdown menu for the property, in addition to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the &quot;None&quot; and existing instances populated into the menu. A component using this feature must also provide&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;an ISetValueCommandExtender implementation to handle the creation of these items.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Each key is used for two purposes:&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;- As a resource key for the dropdown menu item. The resource string should be the full command, e.g. &quot;Create new Foo&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;- When selected, the key is provided as a parameter to a com.nokia.sdt.component.NewComponentReferenceParameter instance. &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This instance is then available from the SetValueCommand passed to ISetValueCommandExtender.getExtendedCommand. &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The implementation should retrieve the key, and return a Command object that will create the appropriate new instance &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;and set the target value to the new instance.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   312       </eAnnotations>
       
   313       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   314         <details key="kind" value="attribute"/>
       
   315         <details key="name" value="creationKeys"/>
       
   316       </eAnnotations>
       
   317     </eStructuralFeatures>
       
   318     <eStructuralFeatures xsi:type="ecore:EAttribute" name="promoteReferenceProperties"
       
   319         unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
   320         unsettable="true">
       
   321       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   322         <details key="documentation" value="If specified, the properties of the instance referenced by this property are promoted&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;into this property source, excluding the 'name' property and other properties that already exist in this component.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This property and the referenced component instance's properties will be at the same level.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   323       </eAnnotations>
       
   324       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   325         <details key="kind" value="attribute"/>
       
   326         <details key="name" value="promoteReferenceProperties"/>
       
   327       </eAnnotations>
       
   328     </eStructuralFeatures>
       
   329     <eStructuralFeatures xsi:type="ecore:EAttribute" name="scope" unique="false" lowerBound="1"
       
   330         eType="#//ReferenceScopeType" defaultValueLiteral="model" unsettable="true">
       
   331       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   332         <details key="documentation" value="Enumeration defining the scope for permissable values.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   333       </eAnnotations>
       
   334       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   335         <details key="kind" value="attribute"/>
       
   336         <details key="name" value="scope"/>
       
   337       </eAnnotations>
       
   338     </eStructuralFeatures>
       
   339   </eClassifiers>
       
   340   <eClassifiers xsi:type="ecore:EClass" name="ComponentType">
       
   341     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   342       <details key="name" value="component_._type"/>
       
   343       <details key="kind" value="elementOnly"/>
       
   344     </eAnnotations>
       
   345     <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" eType="#//DocumentationType"
       
   346         containment="true" resolveProxies="false">
       
   347       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   348         <details key="documentation" value="The optional documentation element provides brief description information about the component and a link to more detailed documentation&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   349       </eAnnotations>
       
   350       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   351         <details key="kind" value="element"/>
       
   352         <details key="name" value="documentation"/>
       
   353         <details key="namespace" value="##targetNamespace"/>
       
   354       </eAnnotations>
       
   355     </eStructuralFeatures>
       
   356     <eStructuralFeatures xsi:type="ecore:EReference" name="symbian" eType="#//SymbianType"
       
   357         containment="true" resolveProxies="false">
       
   358       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   359         <details key="documentation" value="The optional Symbian element provides SDK compatibility information and information about the related &#xD;&#xA;&#x9;C++ classes and resource structures. When this element is omitted the component will be considered incompatible&#xD;&#xA;&#x9;with all Symbian SDKs.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   360       </eAnnotations>
       
   361       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   362         <details key="kind" value="element"/>
       
   363         <details key="name" value="symbian"/>
       
   364         <details key="namespace" value="##targetNamespace"/>
       
   365       </eAnnotations>
       
   366     </eStructuralFeatures>
       
   367     <eStructuralFeatures xsi:type="ecore:EReference" name="designerImages" eType="#//DesignerImagesType"
       
   368         containment="true" resolveProxies="false">
       
   369       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   370         <details key="documentation" value="This element is specifies images for use by the UI designer. Only those images that apply need to be defined, e.g.&#xD;&#xA;&#x9;&#x9;if a component never appears in the UI design wizard or palette then it doesn't need those images.&#xD;&#xA;&#x9;&#x9;"/>
       
   371       </eAnnotations>
       
   372       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   373         <details key="kind" value="element"/>
       
   374         <details key="name" value="designerImages"/>
       
   375         <details key="namespace" value="##targetNamespace"/>
       
   376       </eAnnotations>
       
   377     </eStructuralFeatures>
       
   378     <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" eType="#//AttributesType"
       
   379         containment="true" resolveProxies="false">
       
   380       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   381         <details key="documentation" value="&#xD;&#xA;Attribute elements can hold any static character data that is common to all instances of a component. Attributes are inherited from their base components.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   382       </eAnnotations>
       
   383       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   384         <details key="kind" value="element"/>
       
   385         <details key="name" value="attributes"/>
       
   386         <details key="namespace" value="##targetNamespace"/>
       
   387       </eAnnotations>
       
   388     </eStructuralFeatures>
       
   389     <eStructuralFeatures xsi:type="ecore:EReference" name="properties" eType="#//PropertiesType"
       
   390         containment="true" resolveProxies="false">
       
   391       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   392         <details key="documentation" value="The list of properties defined for this component. Components also inherit the properties of their base&#xD;&#xA;&#x9;&#x9;components, and can have properties added dynamically, see extensionProperties.&#xD;&#xA;&#x9;&#x9;"/>
       
   393       </eAnnotations>
       
   394       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   395         <details key="kind" value="element"/>
       
   396         <details key="name" value="properties"/>
       
   397         <details key="namespace" value="##targetNamespace"/>
       
   398       </eAnnotations>
       
   399     </eStructuralFeatures>
       
   400     <eStructuralFeatures xsi:type="ecore:EReference" name="extensionProperties" upperBound="-1"
       
   401         eType="#//ExtensionPropertiesType" containment="true" resolveProxies="false">
       
   402       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   403         <details key="documentation" value="Extension properties may be dynamically added, based on the state of an instance of this&#xD;&#xA;&#x9;&#x9;component, its container, or other objects. There may be more than one set of extension properties defined in a component.&#xD;&#xA;&#x9;&#x9;See the com.nokia.sdt.datamodel.adapter.IPropertyExtenders interface.&#xD;&#xA;&#x9;&#x9;"/>
       
   404       </eAnnotations>
       
   405       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   406         <details key="kind" value="element"/>
       
   407         <details key="name" value="extensionProperties"/>
       
   408         <details key="namespace" value="##targetNamespace"/>
       
   409       </eAnnotations>
       
   410     </eStructuralFeatures>
       
   411     <eStructuralFeatures xsi:type="ecore:EReference" name="propertyOverrides" eType="#//PropertyOverridesType"
       
   412         containment="true" resolveProxies="false">
       
   413       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   414         <details key="documentation" value="A list of property overrides defined for this component. Components also&#xD;&#xA;&#x9;&#x9;inherit the property overrides of their base components, with changes applied by the most derived component taking&#xD;&#xA;&#x9;&#x9;precedence. &#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;Property overrides allow certain characteristics of a property to be modified, such as changing a modifiable property&#xD;&#xA;&#x9;&#x9;to read-only.&#xD;&#xA;&#x9;&#x9;"/>
       
   415       </eAnnotations>
       
   416       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   417         <details key="kind" value="element"/>
       
   418         <details key="name" value="propertyOverrides"/>
       
   419         <details key="namespace" value="##targetNamespace"/>
       
   420       </eAnnotations>
       
   421     </eStructuralFeatures>
       
   422     <eStructuralFeatures xsi:type="ecore:EReference" name="events" eType="#//EventsType"
       
   423         containment="true" resolveProxies="false">
       
   424       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   425         <details key="documentation" value="The list of events defined for this component. Components also inherit the events of&#xD;&#xA;&#x9;&#x9;&#x9;their base components. Events are named notifications or hooks to which code can be attached. The data here is&#xD;&#xA;&#x9;&#x9;&#x9;used to drive the user interface. The details of source code generation are part of the source code generation templates.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;The set of available events, and default event, may be overriden via code or script. See the &#xD;&#xA;&#x9;&#x9;&#x9;com.nokia.sdt.datamodel.adapter.IComponentEventInfo interface for more information.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   426       </eAnnotations>
       
   427       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   428         <details key="kind" value="element"/>
       
   429         <details key="name" value="events"/>
       
   430         <details key="namespace" value="##targetNamespace"/>
       
   431       </eAnnotations>
       
   432     </eStructuralFeatures>
       
   433     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceGen" eType="#//SourceGenType"
       
   434         containment="true" resolveProxies="false">
       
   435       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   436         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This section controls C/C++ source generation (with the potential to support &#xD;&#xA;&#x9;&#x9;other one-way languages).  In a sourceGen element, all the elements in linear &#xD;&#xA;&#x9;&#x9;order comprise the component's contributions.  &#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;Conditional sourcegen is implemented by using the &quot;form&quot; attribute on &#xD;&#xA;&#x9;&#x9;templates or templateGroups, or explicitly checking the regex &quot;form&quot; in inline code.  &#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;Another form of conditional sourcegen is event handling code.  The &quot;ifEvents&quot; attribute completely filters out defineLocation/template elements if a given event is not bound to an instance.&#xD;&#xA;&#x9;&#x9;"/>
       
   437       </eAnnotations>
       
   438       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   439         <details key="kind" value="element"/>
       
   440         <details key="name" value="sourceGen"/>
       
   441         <details key="namespace" value="##targetNamespace"/>
       
   442       </eAnnotations>
       
   443     </eStructuralFeatures>
       
   444     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceMapping" eType="#//SourceMappingType"
       
   445         containment="true" resolveProxies="false">
       
   446       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   447         <details key="documentation" value="&#xD;&#xA;The sourceMapping element defines a particular style of source generation&#xD;&#xA;which consists of automatic generation of source by structurally&#xD;&#xA;mapping a component instance to a source definition.  &#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   448       </eAnnotations>
       
   449       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   450         <details key="kind" value="element"/>
       
   451         <details key="name" value="sourceMapping"/>
       
   452         <details key="namespace" value="##targetNamespace"/>
       
   453       </eAnnotations>
       
   454     </eStructuralFeatures>
       
   455     <eStructuralFeatures xsi:type="ecore:EReference" name="implementations" eType="#//ImplementationsType"
       
   456         containment="true" resolveProxies="false">
       
   457       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   458         <details key="documentation" value="Implementation elements declare code or script implementations of interfaces by name.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   459       </eAnnotations>
       
   460       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   461         <details key="kind" value="element"/>
       
   462         <details key="name" value="implementations"/>
       
   463         <details key="namespace" value="##targetNamespace"/>
       
   464       </eAnnotations>
       
   465     </eStructuralFeatures>
       
   466     <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" unique="false"
       
   467         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
   468         unsettable="true">
       
   469       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   470         <details key="documentation" value="Specify true to define a component intended to be used as a basis for deriving other components.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Abstract components are filtered out of the component palette.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   471       </eAnnotations>
       
   472       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   473         <details key="kind" value="attribute"/>
       
   474         <details key="name" value="abstract"/>
       
   475       </eAnnotations>
       
   476     </eStructuralFeatures>
       
   477     <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseComponent" unique="false"
       
   478         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   479       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   480         <details key="documentation" value="The fully qualifed name of the base component. The version of the base component&#xD;&#xA;&#x9;&#x9;&#x9;cannot be specified, it will be whichever is selected via SDK matching.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   481       </eAnnotations>
       
   482       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   483         <details key="kind" value="attribute"/>
       
   484         <details key="name" value="baseComponent"/>
       
   485       </eAnnotations>
       
   486     </eStructuralFeatures>
       
   487     <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" unique="false"
       
   488         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   489       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   490         <details key="documentation" value="Specifies the grouping for the editor's component palette. If this string matches the key&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;of a known group then the localized name is looked up within the Symbian component provider. Otherwise it is treated like a&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;potentially localized string, i.e. if it is %-prefixed a string is looked up in the properties file.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   491       </eAnnotations>
       
   492       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   493         <details key="kind" value="attribute"/>
       
   494         <details key="name" value="category"/>
       
   495       </eAnnotations>
       
   496     </eStructuralFeatures>
       
   497     <eStructuralFeatures xsi:type="ecore:EAttribute" name="friendlyName" unique="false"
       
   498         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   499       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   500         <details key="documentation" value="A short name displayed in the user interface. These values should be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   501       </eAnnotations>
       
   502       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   503         <details key="kind" value="attribute"/>
       
   504         <details key="name" value="friendlyName"/>
       
   505       </eAnnotations>
       
   506     </eStructuralFeatures>
       
   507     <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceNameRoot" unique="false"
       
   508         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   509       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   510         <details key="documentation" value="The root part of the name used in assigned unique names to component instances. For example,&#xD;&#xA;&#x9;&#x9;&#x9;if the root is &quot;label&quot; then names will be assigned in sequence &quot;label1&quot;, &quot;label2&quot;, and so forth. These values should not be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   511       </eAnnotations>
       
   512       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   513         <details key="kind" value="attribute"/>
       
   514         <details key="name" value="instanceNameRoot"/>
       
   515       </eAnnotations>
       
   516     </eStructuralFeatures>
       
   517     <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" unique="false"
       
   518         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   519       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   520         <details key="documentation" value="A globally unique name for a component. By convention these use dotted names, such as&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;com.example.MyComponent. Different versions of a component, in different files, can share the same qualified name. These values&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;should not be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   521       </eAnnotations>
       
   522       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   523         <details key="kind" value="attribute"/>
       
   524         <details key="name" value="qualifiedName"/>
       
   525       </eAnnotations>
       
   526     </eStructuralFeatures>
       
   527     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
       
   528         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   529       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   530         <details key="documentation" value="Identifies the version of the component specified by this document. Uses OSGI style version strings, composed&#xD;&#xA;&#x9;&#x9;&#x9;of up to 3 integers and a text qualifier, of the form &amp;lt;major version&amp;gt;.&amp;lt;minor version&amp;gt;.&amp;lt;micro version&amp;gt;.&amp;lt;qualifier&amp;gt;.&#xD;&#xA;&#x9;&#x9;&#x9;See http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Version.html for further information.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   531       </eAnnotations>
       
   532       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   533         <details key="kind" value="attribute"/>
       
   534         <details key="name" value="version"/>
       
   535       </eAnnotations>
       
   536     </eStructuralFeatures>
       
   537   </eClassifiers>
       
   538   <eClassifiers xsi:type="ecore:EClass" name="CompoundPropertyDeclarationType">
       
   539     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   540       <details key="name" value="compoundPropertyDeclaration_._type"/>
       
   541       <details key="kind" value="elementOnly"/>
       
   542     </eAnnotations>
       
   543     <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstractPropertyGroup"
       
   544         unique="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
   545       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   546         <details key="documentation" value="Any property type may be used here, i.e. simple, compound, array, reference.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   547       </eAnnotations>
       
   548       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   549         <details key="kind" value="group"/>
       
   550         <details key="name" value="abstractProperty:group"/>
       
   551         <details key="namespace" value="##targetNamespace"/>
       
   552       </eAnnotations>
       
   553     </eStructuralFeatures>
       
   554     <eStructuralFeatures xsi:type="ecore:EReference" name="abstractProperty" upperBound="-1"
       
   555         eType="#//AbstractPropertyType" changeable="false" volatile="true" transient="true"
       
   556         derived="true" containment="true" resolveProxies="false">
       
   557       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   558         <details key="documentation" value="Any property type may be used here, i.e. simple, compound, array, reference.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   559       </eAnnotations>
       
   560       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   561         <details key="kind" value="element"/>
       
   562         <details key="name" value="abstractProperty"/>
       
   563         <details key="namespace" value="##targetNamespace"/>
       
   564         <details key="group" value="abstractProperty:group"/>
       
   565       </eAnnotations>
       
   566     </eStructuralFeatures>
       
   567     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceTypeMapping" eType="#//SourceTypeMappingType"
       
   568         containment="true" resolveProxies="false">
       
   569       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   570         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This element provides source mapping for the type, for use by&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;map*FromType elements.  Added post 1.2.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   571       </eAnnotations>
       
   572       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   573         <details key="kind" value="element"/>
       
   574         <details key="name" value="sourceTypeMapping"/>
       
   575         <details key="namespace" value="##targetNamespace"/>
       
   576       </eAnnotations>
       
   577     </eStructuralFeatures>
       
   578     <eStructuralFeatures xsi:type="ecore:EAttribute" name="converterClass" unique="false"
       
   579         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   580       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   581         <details key="documentation" value="If specified, this must be the fully qualified name of an implementation of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;com.nokia.sdt.component.property.ICompoundPropertyValueConverter. It is used to convert back and forth between&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the editable value and the compound value. The editable value is a single value, display as the parent value in the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;property sheet and used with cell editors.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   582       </eAnnotations>
       
   583       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   584         <details key="kind" value="attribute"/>
       
   585         <details key="name" value="converterClass"/>
       
   586       </eAnnotations>
       
   587     </eStructuralFeatures>
       
   588     <eStructuralFeatures xsi:type="ecore:EAttribute" name="editableType" unique="false"
       
   589         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral=""
       
   590         unsettable="true">
       
   591       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   592         <details key="documentation" value="The property type of the editable value. In addition to editing each&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;child value, the user may be able to edit the property as a whole. For example, an RGB color value may be&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;editable as a string. This value can be a propertyDataType value such as &quot;integer&quot; or &quot;string&quot;, or can be&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the name of an enumPropertyDeclaration.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   593       </eAnnotations>
       
   594       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   595         <details key="kind" value="attribute"/>
       
   596         <details key="name" value="editableType"/>
       
   597       </eAnnotations>
       
   598     </eStructuralFeatures>
       
   599     <eStructuralFeatures xsi:type="ecore:EAttribute" name="editorClass" unique="false"
       
   600         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   601       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   602         <details key="documentation" value="The fully qualified name of a class implementing &#xD;&#xA;&#x9;&#x9;&#x9;com.nokia.sdt.component.property.IPropertyEditorFactory.&#xD;&#xA;&#x9;&#x9;&#x9;This allows Java code to provide a label provider, cell editor, and validator for the property.&#xD;&#xA;&#x9;&#x9;&#x9;Specify a factory class here provides a default for all compound properties of this type. The factory&#xD;&#xA;&#x9;&#x9;&#x9;may be overriden by a compound property declaration&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   603       </eAnnotations>
       
   604       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   605         <details key="kind" value="attribute"/>
       
   606         <details key="name" value="editorClass"/>
       
   607       </eAnnotations>
       
   608     </eStructuralFeatures>
       
   609     <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" unique="false"
       
   610         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   611       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   612         <details key="documentation" value="A globally unique name for the property. By convention this is a dotted name, e.g.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;com.example.MyPropertyType. This identifier is used in compound property declarations.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   613       </eAnnotations>
       
   614       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   615         <details key="kind" value="attribute"/>
       
   616         <details key="name" value="qualifiedName"/>
       
   617       </eAnnotations>
       
   618     </eStructuralFeatures>
       
   619   </eClassifiers>
       
   620   <eClassifiers xsi:type="ecore:EClass" name="CompoundPropertyType" eSuperTypes="#//AbstractPropertyType">
       
   621     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   622       <details key="documentation" value="Concrete type used for structured properties.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   623     </eAnnotations>
       
   624     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   625       <details key="name" value="compoundPropertyType"/>
       
   626       <details key="kind" value="empty"/>
       
   627     </eAnnotations>
       
   628     <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
       
   629         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   630       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   631         <details key="documentation" value="An optional default value for the property. The compoundPropertyDeclaration must&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;have a converterType specified for this default value to be used.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   632       </eAnnotations>
       
   633       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   634         <details key="kind" value="attribute"/>
       
   635         <details key="name" value="default"/>
       
   636       </eAnnotations>
       
   637     </eStructuralFeatures>
       
   638     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
       
   639         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   640       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   641         <details key="documentation" value="The fully qualified name of the compound property type declaration. It can be&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;any type accessible from the current or any other component definitions. See compoundPropertyDeclaration for&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;further information.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
   642       </eAnnotations>
       
   643       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   644         <details key="kind" value="attribute"/>
       
   645         <details key="name" value="type"/>
       
   646       </eAnnotations>
       
   647     </eStructuralFeatures>
       
   648   </eClassifiers>
       
   649   <eClassifiers xsi:type="ecore:EClass" name="ConditionalSourceGen" abstract="true">
       
   650     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   651       <details key="name" value="ConditionalSourceGen"/>
       
   652       <details key="kind" value="empty"/>
       
   653     </eAnnotations>
       
   654     <eStructuralFeatures xsi:type="ecore:EAttribute" name="forms" unique="false" eType="#//ListOfStrings">
       
   655       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   656         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Added post 1.1 to inline.&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#x9;A list of tokens used to select a particular kind of source for a parent.&#xD;&#xA;&#x9;&#x9;&#x9;The namespace is determined implicitly by what a parent requests.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;For instance, a parent may have special sourcegen, and pass&#xD;&#xA;&#x9;&#x9;&#x9;the form &quot;SpecialCase&quot; to its children.  Elements specifying&#xD;&#xA;&#x9;&#x9;&#x9;form=&quot;SpecialCase&quot; will be selected.  Other parents will not see&#xD;&#xA;&#x9;&#x9;&#x9;such elements if they do not specify that form.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;If the form does not match, the element is not invoked.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   657       </eAnnotations>
       
   658       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   659         <details key="kind" value="attribute"/>
       
   660         <details key="name" value="forms"/>
       
   661       </eAnnotations>
       
   662     </eStructuralFeatures>
       
   663     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ifEvents" unique="false"
       
   664         eType="#//ListOfStrings">
       
   665       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   666         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Added post 1.1 to inline.&#xD;&#xA;&#x9;&#x9;&#x9;If defined, a list of events, any of which must be bound for the&#xD;&#xA;&#x9;&#x9;&#x9;element to be invoked.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   667       </eAnnotations>
       
   668       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   669         <details key="kind" value="attribute"/>
       
   670         <details key="name" value="ifEvents"/>
       
   671       </eAnnotations>
       
   672     </eStructuralFeatures>
       
   673     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ifExpr" unique="false"
       
   674         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   675       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   676         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;&#x9;If defined, a Javascript expression which must evaluate to&#xD;&#xA;&#x9;&#x9;&#x9;true (or non-zero) for the element to be invoked.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   677       </eAnnotations>
       
   678       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   679         <details key="kind" value="attribute"/>
       
   680         <details key="name" value="ifExpr"/>
       
   681       </eAnnotations>
       
   682     </eStructuralFeatures>
       
   683   </eClassifiers>
       
   684   <eClassifiers xsi:type="ecore:EClass" name="ConditionalSourceGenString" abstract="true">
       
   685     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   686       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for sourcegen elements which may be conditionally skipped&#xD;&#xA;&#x9;&#x9;(and which contain text).&#xD;&#xA;&#x9;&#x9;Such skipping applies to the save-time behavior and not&#xD;&#xA;&#x9;&#x9;the load-time or validation-time behavior.&#xD;&#xA;&#x9;&#x9;"/>
       
   687     </eAnnotations>
       
   688     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   689       <details key="name" value="ConditionalSourceGenString"/>
       
   690       <details key="kind" value="simple"/>
       
   691     </eAnnotations>
       
   692     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   693       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   694         <details key="name" value=":0"/>
       
   695         <details key="kind" value="simple"/>
       
   696       </eAnnotations>
       
   697     </eStructuralFeatures>
       
   698     <eStructuralFeatures xsi:type="ecore:EAttribute" name="forms" unique="false" eType="#//ListOfStrings">
       
   699       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   700         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Added post 1.1 to inline.&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#x9;A list of tokens used to select a particular kind of source for a parent.&#xD;&#xA;&#x9;&#x9;&#x9;The namespace is determined implicitly by what a parent requests.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;For instance, a parent may have special sourcegen, and pass&#xD;&#xA;&#x9;&#x9;&#x9;the form &quot;SpecialCase&quot; to its children.  Elements specifying&#xD;&#xA;&#x9;&#x9;&#x9;form=&quot;SpecialCase&quot; will be selected.  Other parents will not see&#xD;&#xA;&#x9;&#x9;&#x9;such elements if they do not specify that form.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;If the form does not match, the element is not invoked.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   701       </eAnnotations>
       
   702       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   703         <details key="kind" value="attribute"/>
       
   704         <details key="name" value="forms"/>
       
   705       </eAnnotations>
       
   706     </eStructuralFeatures>
       
   707     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ifEvents" unique="false"
       
   708         eType="#//ListOfStrings">
       
   709       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   710         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Added post 1.1 to inline.&#xD;&#xA;&#x9;&#x9;&#x9;If defined, a list of events, any of which must be bound for the&#xD;&#xA;&#x9;&#x9;&#x9;element to be invoked.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   711       </eAnnotations>
       
   712       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   713         <details key="kind" value="attribute"/>
       
   714         <details key="name" value="ifEvents"/>
       
   715       </eAnnotations>
       
   716     </eStructuralFeatures>
       
   717     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ifExpr" unique="false"
       
   718         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   719       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   720         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;&#x9;If defined, a Javascript expression which must evaluate to&#xD;&#xA;&#x9;&#x9;&#x9;true (or non-zero) for the element to be invoked.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
   721       </eAnnotations>
       
   722       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   723         <details key="kind" value="attribute"/>
       
   724         <details key="name" value="ifExpr"/>
       
   725       </eAnnotations>
       
   726     </eStructuralFeatures>
       
   727   </eClassifiers>
       
   728   <eClassifiers xsi:type="ecore:EClass" name="DefineLocationType">
       
   729     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   730       <details key="name" value="defineLocation_._type"/>
       
   731       <details key="kind" value="elementOnly"/>
       
   732     </eAnnotations>
       
   733     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
   734         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
   735       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   736         <details key="kind" value="group"/>
       
   737         <details key="name" value="group:0"/>
       
   738       </eAnnotations>
       
   739     </eStructuralFeatures>
       
   740     <eStructuralFeatures xsi:type="ecore:EReference" name="template" upperBound="-1"
       
   741         eType="#//TemplateType" volatile="true" transient="true" derived="true" containment="true"
       
   742         resolveProxies="false">
       
   743       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   744         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a contribution.  The text element is template-expanded &#xD;&#xA;&#x9;&#x9;with ${ ... } expression escapes and may contain Javascript in &amp;lt;% ... %&amp;gt; sections.&#xD;&#xA;&#x9;&#x9;"/>
       
   745       </eAnnotations>
       
   746       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   747         <details key="kind" value="element"/>
       
   748         <details key="name" value="template"/>
       
   749         <details key="namespace" value="##targetNamespace"/>
       
   750         <details key="group" value="#group:0"/>
       
   751       </eAnnotations>
       
   752     </eStructuralFeatures>
       
   753     <eStructuralFeatures xsi:type="ecore:EReference" name="inline" upperBound="-1"
       
   754         eType="#//InlineType" volatile="true" transient="true" derived="true" containment="true"
       
   755         resolveProxies="false">
       
   756       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   757         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Provide Javascript in-line with templates and other sourceGen elements.&#xD;&#xA;&#x9;&#x9;Be sure to supply a &quot;forms&quot; attribute, otherwise the code may execute multiple times&#xD;&#xA;&#x9;&#x9;during the source generation contribution-gathering phase.&#xD;&#xA;&#x9;&#x9;"/>
       
   758       </eAnnotations>
       
   759       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   760         <details key="kind" value="element"/>
       
   761         <details key="name" value="inline"/>
       
   762         <details key="namespace" value="##targetNamespace"/>
       
   763         <details key="group" value="#group:0"/>
       
   764       </eAnnotations>
       
   765     </eStructuralFeatures>
       
   766     <eStructuralFeatures xsi:type="ecore:EReference" name="script" upperBound="-1"
       
   767         eType="#//ScriptType" volatile="true" transient="true" derived="true" containment="true"
       
   768         resolveProxies="false">
       
   769       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   770         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Define a reference to an interface implemented in Javascript.&#xD;&#xA;&#x9;&#x9;"/>
       
   771       </eAnnotations>
       
   772       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   773         <details key="kind" value="element"/>
       
   774         <details key="name" value="script"/>
       
   775         <details key="namespace" value="##targetNamespace"/>
       
   776         <details key="group" value="#group:0"/>
       
   777       </eAnnotations>
       
   778     </eStructuralFeatures>
       
   779     <eStructuralFeatures xsi:type="ecore:EReference" name="expandMacro" upperBound="-1"
       
   780         eType="#//ExpandMacroType" volatile="true" transient="true" derived="true"
       
   781         containment="true" resolveProxies="false">
       
   782       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   783         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Expands a given macro into the sourceGen of the caller.  &#xD;&#xA;&#x9;&#x9;This has the same effect as inserting the same templates and inlines &#xD;&#xA;&#x9;&#x9;from the macro's definition at the point of call.  &#xD;&#xA;&#x9;&#x9;Variable references from those templates and inlines&#xD;&#xA;&#x9;&#x9;are substituted with the values provided in attributes &#xD;&#xA;&#x9;&#x9;(e.g. variableName=&quot;value&quot;) or expandArgument child elements.  &#xD;&#xA;&#x9;&#x9;The latter may be preferred for cases where code is substituted,&#xD;&#xA;&#x9;&#x9;so the formatting may be retained.&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;As a special case, variable references may have modifiers to&#xD;&#xA;&#x9;&#x9;modify the formatting of a variable when it is expanded.  &#xD;&#xA;&#x9;&#x9;Modifiers are appended&#xD;&#xA;&#x9;&#x9;to the variable name as in: $(varName::modifier).  &#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Currently supported modifiers are all for tweaking canonical&#xD;&#xA;&#x9;&#x9;function argument lists, which match the format of &#xD;&#xA;&#x9;&#x9;declaration, with spaces, argument names, default values, etc:&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;ul xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-declaration-args: identity&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-definition-args: removes default argument values&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-location-args: removes argument names, default arguments, and spaces&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&lt;/ul>&#xD;&#xA;&#x9;&#x9;"/>
       
   784       </eAnnotations>
       
   785       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   786         <details key="kind" value="element"/>
       
   787         <details key="name" value="expandMacro"/>
       
   788         <details key="namespace" value="##targetNamespace"/>
       
   789         <details key="group" value="#group:0"/>
       
   790       </eAnnotations>
       
   791     </eStructuralFeatures>
       
   792     <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseLocation" unique="false"
       
   793         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   794       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   795         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If defined, the location id this location lives inside.  (E.g. a class inside a file,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;an enum declaration inside a class, etc.)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   796       </eAnnotations>
       
   797       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   798         <details key="kind" value="attribute"/>
       
   799         <details key="name" value="baseLocation"/>
       
   800       </eAnnotations>
       
   801     </eStructuralFeatures>
       
   802     <eStructuralFeatures xsi:type="ecore:EAttribute" name="dir" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   803       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   804         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;For a top-level location, where baseLocation is null, this is a&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;template-expanded reference to the project-relative directory to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;use.  Predefined variables ${src}, ${inc}, ${resource}, ${build}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;are provided.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   805       </eAnnotations>
       
   806       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   807         <details key="kind" value="attribute"/>
       
   808         <details key="name" value="dir"/>
       
   809       </eAnnotations>
       
   810     </eStructuralFeatures>
       
   811     <eStructuralFeatures xsi:type="ecore:EAttribute" name="domain" unique="false"
       
   812         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   813       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   814         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The source domain which controls how locations are interpreted and instantiated.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only &quot;cpp&quot; is supported currently.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   815       </eAnnotations>
       
   816       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   817         <details key="kind" value="attribute"/>
       
   818         <details key="name" value="domain"/>
       
   819       </eAnnotations>
       
   820     </eStructuralFeatures>
       
   821     <eStructuralFeatures xsi:type="ecore:EAttribute" name="file" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   822       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   823         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;For a top-level location, where baseLocation is null, this is a&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;template-expanded filename relative to the directory specified by &quot;dir&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   824       </eAnnotations>
       
   825       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   826         <details key="kind" value="attribute"/>
       
   827         <details key="name" value="file"/>
       
   828       </eAnnotations>
       
   829     </eStructuralFeatures>
       
   830     <eStructuralFeatures xsi:type="ecore:EAttribute" name="filter" unique="false"
       
   831         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="default"
       
   832         unsettable="true">
       
   833       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   834         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Defines a filter on contributions added to the location.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Available filters:&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;* unique-includes (can be applied anywhere, but scans files)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;* unique-prototypes (can be applied in &quot;class()&quot; or children, but scans the class)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;* unique-bases (can be applied to &quot;bases()&quot; or children, but scans the base class list)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   835       </eAnnotations>
       
   836       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   837         <details key="kind" value="attribute"/>
       
   838         <details key="name" value="filter"/>
       
   839       </eAnnotations>
       
   840     </eStructuralFeatures>
       
   841     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" lowerBound="1"
       
   842         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   843       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   844         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The location identifier.  This must be unique in a component.  A derived component&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;may redefine a location.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   845       </eAnnotations>
       
   846       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   847         <details key="kind" value="attribute"/>
       
   848         <details key="name" value="id"/>
       
   849       </eAnnotations>
       
   850     </eStructuralFeatures>
       
   851     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ifEvents" unique="false"
       
   852         eType="#//ListOfStrings">
       
   853       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   854         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If defined, a list of events, any of which must be bound for the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;location to be declared.  Otherwise, its id is not available and &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the location is undefined.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   855       </eAnnotations>
       
   856       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   857         <details key="kind" value="attribute"/>
       
   858         <details key="name" value="ifEvents"/>
       
   859       </eAnnotations>
       
   860     </eStructuralFeatures>
       
   861     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isEventHandler" unique="false"
       
   862         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   863       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   864         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Note: a string for macro use only; must resolve to &quot;true&quot; or &quot;false&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;When &quot;ifEvents&quot; is non-empty, this flag tells the designer which particular&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;function is the user-editable event handler.  So this usually is applied&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;to a function() location.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   865       </eAnnotations>
       
   866       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   867         <details key="kind" value="attribute"/>
       
   868         <details key="name" value="isEventHandler"/>
       
   869       </eAnnotations>
       
   870     </eStructuralFeatures>
       
   871     <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" unique="false"
       
   872         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   873       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   874         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;This describes the location relative to its base (use &quot;&quot; for a&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;top-level file location).  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;A location segment in the cpp domain is a string&#xD;&#xA;representing a node in a C/C++ parse tree.  Each takes the syntax “&amp;lt;name&amp;gt;&#xD;&#xA;‘(‘ &amp;lt;arguments…&amp;gt; ‘)’�?.  Certain nodes may only appear within certain&#xD;&#xA;others.  This list defines top-level nodes:&#xD;&#xA;&#xD;&#xA;class(&amp;lt;name&amp;gt;): &#xD;&#xA;reference the class declaration for the class ‘name’, which may include namespaces (e.g.&#xD;&#xA;“class(MyClass)�? or “class(${className})�?)&#xD;&#xA;&#xD;&#xA;function(&amp;lt;name&amp;gt;(&amp;lt;arguments…)):&#xD;&#xA;reference a function with the given signature.  ‘name’ may include namespaces&#xD;&#xA;or represent a destructor.  ‘arguments’ is a comma-separated list of types. &#xD;&#xA;This list of arguments is currently not parsed and only the number of&#xD;&#xA;arguments matters.  The arguments list may end in ellipsis (“…�?) to indicate&#xD;&#xA;that any zero or more arguments are matched.  Again, the &amp;lt;template&amp;gt;&#xD;&#xA;inside a &amp;lt;defineLocation&amp;gt; really defines the function.  (E.g.&#xD;&#xA;“function(main(int,char**))�? or “function(${className}::method(void*)�?.)&#xD;&#xA;&#xD;&#xA;region(&amp;lt;name&amp;gt;): &#xD;&#xA;a region defines a commented block of text with no other syntactical clues.  The&#xD;&#xA;block comments and the name are used to identify the block.  Thus, names should&#xD;&#xA;be unique across a component.  (E.g. “region(Generated Includes)�?.)&#xD;&#xA;&#xD;&#xA;enum(&amp;lt;name&amp;gt;): &#xD;&#xA;a enum declaration with the given name.  Name must be non-empty (locations are&#xD;&#xA;used to look up source, so anonymous enums cannot be unambiguously&#xD;&#xA;identified).  (E.g. “enum(T${className}Ids)�?.)&#xD;&#xA;&#xD;&#xA;namespace(&amp;lt;name&amp;gt;):&#xD;&#xA;a namespace declaration with the given name, which may contain colons.  (E.g.&#xD;&#xA;“namespace(std::tr1)�?)&#xD;&#xA;&#xD;&#xA;to-file(): &#xD;&#xA;resolve to the current file of a location, i.e. get back to the root location. &#xD;&#xA;&#xD;&#xA;Inside a class(), namespace() is not allowed, and this&#xD;&#xA;additional segment is allowed:&#xD;&#xA;&#xD;&#xA;bases(): &#xD;&#xA;references the base-class-list within a class declaration.  If the class’ defining text&#xD;&#xA;already includes a base, then the defining text for the bases() location may be&#xD;&#xA;omitted.  If a class’ defining text does not include a base, the bases()&#xD;&#xA;location must include the leading colon in its defining text.  Otherwise,&#xD;&#xA;contributions are individual class references with leading commas.&#xD;&#xA;&#xD;&#xA;In a function(), only class(), region(), enum(), and to-file() are allowed.&#xD;&#xA;&#xD;&#xA;In an enum(), bases() or region(), only region() and to-file() are allowed.&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   875       </eAnnotations>
       
   876       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   877         <details key="kind" value="attribute"/>
       
   878         <details key="name" value="location"/>
       
   879       </eAnnotations>
       
   880     </eStructuralFeatures>
       
   881     <eStructuralFeatures xsi:type="ecore:EAttribute" name="owned" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
       
   882         defaultValueLiteral="true" unsettable="true">
       
   883       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   884         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Note: a string for macro use only; must resolve to &quot;true&quot; or &quot;false&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, the location is marked generated in source and will be&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;regenerated from scratch on every save.  Otherwise, the location&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;is generated only when missing.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   885       </eAnnotations>
       
   886       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   887         <details key="kind" value="attribute"/>
       
   888         <details key="name" value="owned"/>
       
   889       </eAnnotations>
       
   890     </eStructuralFeatures>
       
   891     <eStructuralFeatures xsi:type="ecore:EAttribute" name="realize" unique="false"
       
   892         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" defaultValueLiteral="false"
       
   893         unsettable="true">
       
   894       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   895         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Note: a string for macro use only; must resolve to &quot;true&quot; or &quot;false&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, a template for this location is automatically added when this location is defined.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Otherwise, the location is a placeholder and is not &quot;realized&quot; in actual source unless a template references it.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   896       </eAnnotations>
       
   897       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   898         <details key="kind" value="attribute"/>
       
   899         <details key="name" value="realize"/>
       
   900       </eAnnotations>
       
   901     </eStructuralFeatures>
       
   902   </eClassifiers>
       
   903   <eClassifiers xsi:type="ecore:EClass" name="DefineMacroType">
       
   904     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   905       <details key="name" value="defineMacro_._type"/>
       
   906       <details key="kind" value="elementOnly"/>
       
   907     </eAnnotations>
       
   908     <eStructuralFeatures xsi:type="ecore:EReference" name="importArguments" upperBound="-1"
       
   909         eType="#//ImportArgumentsType" containment="true" resolveProxies="false">
       
   910       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   911         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;This element specifies that a list of arguments (name, type, defaults,&#xD;&#xA;&#x9;&#x9;optional flags) will be imported from another macro. &#xD;&#xA;&#x9;&#x9;If this element is omitted, then all the arguments from the macro&#xD;&#xA;&#x9;&#x9;are imported.  &#xD;&#xA;&#x9;&#x9;"/>
       
   912       </eAnnotations>
       
   913       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   914         <details key="kind" value="element"/>
       
   915         <details key="name" value="importArguments"/>
       
   916         <details key="namespace" value="##targetNamespace"/>
       
   917       </eAnnotations>
       
   918     </eStructuralFeatures>
       
   919     <eStructuralFeatures xsi:type="ecore:EReference" name="macroArgument" upperBound="-1"
       
   920         eType="#//MacroArgumentType" containment="true" resolveProxies="false">
       
   921       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   922         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Defines an argument for use with the macro.&#xD;&#xA;&#x9;&#x9;The default value may be specified in the 'default' attribute or in the text of the element.&#xD;&#xA;&#x9;&#x9;The text supercedes the attribute.  &#xD;&#xA;&#x9;&#x9;"/>
       
   923       </eAnnotations>
       
   924       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   925         <details key="kind" value="element"/>
       
   926         <details key="name" value="macroArgument"/>
       
   927         <details key="namespace" value="##targetNamespace"/>
       
   928       </eAnnotations>
       
   929     </eStructuralFeatures>
       
   930     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
   931         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
   932       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   933         <details key="kind" value="group"/>
       
   934         <details key="name" value="group:2"/>
       
   935       </eAnnotations>
       
   936     </eStructuralFeatures>
       
   937     <eStructuralFeatures xsi:type="ecore:EReference" name="template" upperBound="-1"
       
   938         eType="#//TemplateType" volatile="true" transient="true" derived="true" containment="true"
       
   939         resolveProxies="false">
       
   940       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   941         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a contribution.  The text element is template-expanded &#xD;&#xA;&#x9;&#x9;with ${ ... } expression escapes and may contain Javascript in &amp;lt;% ... %&amp;gt; sections.&#xD;&#xA;&#x9;&#x9;"/>
       
   942       </eAnnotations>
       
   943       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   944         <details key="kind" value="element"/>
       
   945         <details key="name" value="template"/>
       
   946         <details key="namespace" value="##targetNamespace"/>
       
   947         <details key="group" value="#group:2"/>
       
   948       </eAnnotations>
       
   949     </eStructuralFeatures>
       
   950     <eStructuralFeatures xsi:type="ecore:EReference" name="inline" upperBound="-1"
       
   951         eType="#//InlineType" volatile="true" transient="true" derived="true" containment="true"
       
   952         resolveProxies="false">
       
   953       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   954         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Provide Javascript in-line with templates and other sourceGen elements.&#xD;&#xA;&#x9;&#x9;Be sure to supply a &quot;forms&quot; attribute, otherwise the code may execute multiple times&#xD;&#xA;&#x9;&#x9;during the source generation contribution-gathering phase.&#xD;&#xA;&#x9;&#x9;"/>
       
   955       </eAnnotations>
       
   956       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   957         <details key="kind" value="element"/>
       
   958         <details key="name" value="inline"/>
       
   959         <details key="namespace" value="##targetNamespace"/>
       
   960         <details key="group" value="#group:2"/>
       
   961       </eAnnotations>
       
   962     </eStructuralFeatures>
       
   963     <eStructuralFeatures xsi:type="ecore:EReference" name="defineLocation" upperBound="-1"
       
   964         eType="#//DefineLocationType" volatile="true" transient="true" derived="true"
       
   965         containment="true" resolveProxies="false">
       
   966       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   967         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element defines a location in source, such as a function in the main &#xD;&#xA;&#x9;&#x9;file or a region of text in a class declaration.  &#xD;&#xA;&#x9;&#x9;This is a slight misnomer as this element does not by its presence realize&#xD;&#xA;&#x9;&#x9;the location.  Only when a contribution references&#xD;&#xA;&#x9;&#x9;location id (or post 1.1: when realize=&quot;true&quot; is used)&#xD;&#xA;&#x9;&#x9;will the location be added to source.&#xD;&#xA;&#x9;&#x9;"/>
       
   968       </eAnnotations>
       
   969       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   970         <details key="kind" value="element"/>
       
   971         <details key="name" value="defineLocation"/>
       
   972         <details key="namespace" value="##targetNamespace"/>
       
   973         <details key="group" value="#group:2"/>
       
   974       </eAnnotations>
       
   975     </eStructuralFeatures>
       
   976     <eStructuralFeatures xsi:type="ecore:EReference" name="expandMacro" upperBound="-1"
       
   977         eType="#//ExpandMacroType" volatile="true" transient="true" derived="true"
       
   978         containment="true" resolveProxies="false">
       
   979       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   980         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Expands a given macro into the sourceGen of the caller.  &#xD;&#xA;&#x9;&#x9;This has the same effect as inserting the same templates and inlines &#xD;&#xA;&#x9;&#x9;from the macro's definition at the point of call.  &#xD;&#xA;&#x9;&#x9;Variable references from those templates and inlines&#xD;&#xA;&#x9;&#x9;are substituted with the values provided in attributes &#xD;&#xA;&#x9;&#x9;(e.g. variableName=&quot;value&quot;) or expandArgument child elements.  &#xD;&#xA;&#x9;&#x9;The latter may be preferred for cases where code is substituted,&#xD;&#xA;&#x9;&#x9;so the formatting may be retained.&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;As a special case, variable references may have modifiers to&#xD;&#xA;&#x9;&#x9;modify the formatting of a variable when it is expanded.  &#xD;&#xA;&#x9;&#x9;Modifiers are appended&#xD;&#xA;&#x9;&#x9;to the variable name as in: $(varName::modifier).  &#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Currently supported modifiers are all for tweaking canonical&#xD;&#xA;&#x9;&#x9;function argument lists, which match the format of &#xD;&#xA;&#x9;&#x9;declaration, with spaces, argument names, default values, etc:&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;ul xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-declaration-args: identity&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-definition-args: removes default argument values&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-location-args: removes argument names, default arguments, and spaces&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&lt;/ul>&#xD;&#xA;&#x9;&#x9;"/>
       
   981       </eAnnotations>
       
   982       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   983         <details key="kind" value="element"/>
       
   984         <details key="name" value="expandMacro"/>
       
   985         <details key="namespace" value="##targetNamespace"/>
       
   986         <details key="group" value="#group:2"/>
       
   987       </eAnnotations>
       
   988     </eStructuralFeatures>
       
   989     <eStructuralFeatures xsi:type="ecore:EAttribute" name="help" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   990       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
   991         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Help/usage text for a documentation generating tool.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
   992       </eAnnotations>
       
   993       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
   994         <details key="kind" value="attribute"/>
       
   995         <details key="name" value="help"/>
       
   996       </eAnnotations>
       
   997     </eStructuralFeatures>
       
   998     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
   999       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1000         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Unique id for the macro within a component.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Ids may be shared for different&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;forms.  Derived components inherit macros automatically&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;but may redefine a macro with the same id.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  1001       </eAnnotations>
       
  1002       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1003         <details key="kind" value="attribute"/>
       
  1004         <details key="name" value="id"/>
       
  1005       </eAnnotations>
       
  1006     </eStructuralFeatures>
       
  1007   </eClassifiers>
       
  1008   <eClassifiers xsi:type="ecore:EClass" name="DesignerImagesType">
       
  1009     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1010       <details key="name" value="designerImages_._type"/>
       
  1011       <details key="kind" value="empty"/>
       
  1012     </eAnnotations>
       
  1013     <eStructuralFeatures xsi:type="ecore:EAttribute" name="largeIconFile" unique="false"
       
  1014         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1015       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1016         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  1017       </eAnnotations>
       
  1018       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1019         <details key="kind" value="attribute"/>
       
  1020         <details key="name" value="largeIconFile"/>
       
  1021       </eAnnotations>
       
  1022     </eStructuralFeatures>
       
  1023     <eStructuralFeatures xsi:type="ecore:EAttribute" name="layoutImageFile" unique="false"
       
  1024         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1025       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1026         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  1027       </eAnnotations>
       
  1028       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1029         <details key="kind" value="attribute"/>
       
  1030         <details key="name" value="layoutImageFile"/>
       
  1031       </eAnnotations>
       
  1032     </eStructuralFeatures>
       
  1033     <eStructuralFeatures xsi:type="ecore:EAttribute" name="smallIconFile" unique="false"
       
  1034         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1035       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1036         <details key="documentation" value="A relative path to an Eclipse-supported image type, such as PNG, GIF, or BMP. This image is displayed in the outline.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  1037       </eAnnotations>
       
  1038       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1039         <details key="kind" value="attribute"/>
       
  1040         <details key="name" value="smallIconFile"/>
       
  1041       </eAnnotations>
       
  1042     </eStructuralFeatures>
       
  1043     <eStructuralFeatures xsi:type="ecore:EAttribute" name="thumbnailFile" unique="false"
       
  1044         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1045       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1046         <details key="documentation" value="A relative path to an Eclipse-supported image type, such as PNG, GIF, or BMP. This image is displayed in UI designer's graphical&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;layout area if the component does not provide rendering code.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  1047       </eAnnotations>
       
  1048       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1049         <details key="kind" value="attribute"/>
       
  1050         <details key="name" value="thumbnailFile"/>
       
  1051       </eAnnotations>
       
  1052     </eStructuralFeatures>
       
  1053   </eClassifiers>
       
  1054   <eClassifiers xsi:type="ecore:EClass" name="DocumentationType">
       
  1055     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1056       <details key="name" value="documentation_._type"/>
       
  1057       <details key="kind" value="elementOnly"/>
       
  1058     </eAnnotations>
       
  1059     <eStructuralFeatures xsi:type="ecore:EAttribute" name="information" unique="false"
       
  1060         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1061       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1062         <details key="documentation" value="Brief description of the component, shown in a tooltip. This value should be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  1063       </eAnnotations>
       
  1064       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1065         <details key="kind" value="element"/>
       
  1066         <details key="name" value="information"/>
       
  1067         <details key="namespace" value="##targetNamespace"/>
       
  1068       </eAnnotations>
       
  1069     </eStructuralFeatures>
       
  1070     <eStructuralFeatures xsi:type="ecore:EAttribute" name="helpTopic" unique="false"
       
  1071         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1072       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1073         <details key="documentation" value="A link to help information for this component.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  1074       </eAnnotations>
       
  1075       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1076         <details key="kind" value="element"/>
       
  1077         <details key="name" value="helpTopic"/>
       
  1078         <details key="namespace" value="##targetNamespace"/>
       
  1079       </eAnnotations>
       
  1080     </eStructuralFeatures>
       
  1081     <eStructuralFeatures xsi:type="ecore:EAttribute" name="wizardDescription" unique="false"
       
  1082         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  1083       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1084         <details key="documentation" value="Text displayed in the UI design wizard. Applies only to containers and top-level content. This&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;value should be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  1085       </eAnnotations>
       
  1086       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1087         <details key="kind" value="element"/>
       
  1088         <details key="name" value="wizardDescription"/>
       
  1089         <details key="namespace" value="##targetNamespace"/>
       
  1090       </eAnnotations>
       
  1091     </eStructuralFeatures>
       
  1092   </eClassifiers>
       
  1093   <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
       
  1094     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1095       <details key="name" value=""/>
       
  1096       <details key="kind" value="mixed"/>
       
  1097     </eAnnotations>
       
  1098     <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
       
  1099         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  1100       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1101         <details key="kind" value="elementWildcard"/>
       
  1102         <details key="name" value=":mixed"/>
       
  1103       </eAnnotations>
       
  1104     </eStructuralFeatures>
       
  1105     <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"
       
  1106         eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
       
  1107         transient="true" containment="true" resolveProxies="false">
       
  1108       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1109         <details key="kind" value="attribute"/>
       
  1110         <details key="name" value="xmlns:prefix"/>
       
  1111       </eAnnotations>
       
  1112     </eStructuralFeatures>
       
  1113     <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"
       
  1114         eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
       
  1115         transient="true" containment="true" resolveProxies="false">
       
  1116       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1117         <details key="kind" value="attribute"/>
       
  1118         <details key="name" value="xsi:schemaLocation"/>
       
  1119       </eAnnotations>
       
  1120     </eStructuralFeatures>
       
  1121     <eStructuralFeatures xsi:type="ecore:EReference" name="abstractProperty" upperBound="-2"
       
  1122         eType="#//AbstractPropertyType" changeable="false" volatile="true" transient="true"
       
  1123         derived="true" containment="true" resolveProxies="false">
       
  1124       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1125         <details key="kind" value="element"/>
       
  1126         <details key="name" value="abstractProperty"/>
       
  1127         <details key="namespace" value="##targetNamespace"/>
       
  1128       </eAnnotations>
       
  1129     </eStructuralFeatures>
       
  1130     <eStructuralFeatures xsi:type="ecore:EReference" name="arrayProperty" upperBound="-2"
       
  1131         eType="#//ArrayPropertyType" volatile="true" transient="true" derived="true"
       
  1132         containment="true" resolveProxies="false">
       
  1133       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1134         <details key="kind" value="element"/>
       
  1135         <details key="name" value="arrayProperty"/>
       
  1136         <details key="namespace" value="##targetNamespace"/>
       
  1137         <details key="affiliation" value="abstractProperty"/>
       
  1138       </eAnnotations>
       
  1139     </eStructuralFeatures>
       
  1140     <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" upperBound="-2"
       
  1141         eType="#//AttributeType" volatile="true" transient="true" derived="true" containment="true"
       
  1142         resolveProxies="false">
       
  1143       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1144         <details key="kind" value="element"/>
       
  1145         <details key="name" value="attribute"/>
       
  1146         <details key="namespace" value="##targetNamespace"/>
       
  1147       </eAnnotations>
       
  1148     </eStructuralFeatures>
       
  1149     <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-2"
       
  1150         eType="#//AttributesType" volatile="true" transient="true" derived="true"
       
  1151         containment="true" resolveProxies="false">
       
  1152       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1153         <details key="documentation" value="&#xD;&#xA;Attribute elements can hold any static character data that is common to all instances of a component. Attributes are inherited from their base components.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1154       </eAnnotations>
       
  1155       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1156         <details key="kind" value="element"/>
       
  1157         <details key="name" value="attributes"/>
       
  1158         <details key="namespace" value="##targetNamespace"/>
       
  1159       </eAnnotations>
       
  1160     </eStructuralFeatures>
       
  1161     <eStructuralFeatures xsi:type="ecore:EReference" name="choice" upperBound="-2"
       
  1162         eType="#//ChoiceType" volatile="true" transient="true" derived="true" containment="true"
       
  1163         resolveProxies="false">
       
  1164       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1165         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a decision in the select element.  If the &quot;value&quot; attribute&#xD;&#xA;&#x9;&#x9;matches the value obtained in the select element, the choice is matched&#xD;&#xA;&#x9;&#x9;and its mapping elements instantiated.&#xD;&#xA;&#x9;&#x9;"/>
       
  1166       </eAnnotations>
       
  1167       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1168         <details key="kind" value="element"/>
       
  1169         <details key="name" value="choice"/>
       
  1170         <details key="namespace" value="##targetNamespace"/>
       
  1171       </eAnnotations>
       
  1172     </eStructuralFeatures>
       
  1173     <eStructuralFeatures xsi:type="ecore:EReference" name="code" upperBound="-2" eType="#//CodeType"
       
  1174         volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
       
  1175       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1176         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Define a reference to an interface implemented in Java.&#xD;&#xA;&#x9;&#x9;"/>
       
  1177       </eAnnotations>
       
  1178       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1179         <details key="kind" value="element"/>
       
  1180         <details key="name" value="code"/>
       
  1181         <details key="namespace" value="##targetNamespace"/>
       
  1182       </eAnnotations>
       
  1183     </eStructuralFeatures>
       
  1184     <eStructuralFeatures xsi:type="ecore:EReference" name="component" upperBound="-2"
       
  1185         eType="#//ComponentType" volatile="true" transient="true" derived="true" containment="true"
       
  1186         resolveProxies="false">
       
  1187       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1188         <details key="documentation" value="&#xD;&#xA;        This is the container element for all the information about a single component.&#xD;&#xA;        "/>
       
  1189       </eAnnotations>
       
  1190       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1191         <details key="kind" value="element"/>
       
  1192         <details key="name" value="component"/>
       
  1193         <details key="namespace" value="##targetNamespace"/>
       
  1194       </eAnnotations>
       
  1195     </eStructuralFeatures>
       
  1196     <eStructuralFeatures xsi:type="ecore:EReference" name="componentDefinition" upperBound="-2"
       
  1197         eType="#//ComponentDefinitionType" volatile="true" transient="true" derived="true"
       
  1198         containment="true" resolveProxies="false">
       
  1199       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1200         <details key="documentation" value="componentDefinition must be the root element of a component definition document.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;It includes zero or more compound property declarations, zero or more enum declarations and zero or one&#xD;&#xA;&#x9;&#x9;&#x9;component declarations.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;Displayable strings can either be included literally within the XML or referenced in the &#xD;&#xA;&#x9;&#x9;&#x9;component.properties file by prefixing the string with %. For example, &quot;%foo&quot; references the &#xD;&#xA;&#x9;&#x9;&#x9;value of the &quot;foo&quot; property in component.properties. To obtain the string &quot;%foo&quot; &#xD;&#xA;&#x9;&#x9;&#x9;use a double %, e.g. &quot;%%foo&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1201       </eAnnotations>
       
  1202       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1203         <details key="kind" value="element"/>
       
  1204         <details key="name" value="componentDefinition"/>
       
  1205         <details key="namespace" value="##targetNamespace"/>
       
  1206       </eAnnotations>
       
  1207     </eStructuralFeatures>
       
  1208     <eStructuralFeatures xsi:type="ecore:EReference" name="componentReferenceProperty"
       
  1209         upperBound="-2" eType="#//ComponentReferencePropertyType" volatile="true"
       
  1210         transient="true" derived="true" containment="true" resolveProxies="false">
       
  1211       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1212         <details key="kind" value="element"/>
       
  1213         <details key="name" value="componentReferenceProperty"/>
       
  1214         <details key="namespace" value="##targetNamespace"/>
       
  1215         <details key="affiliation" value="abstractProperty"/>
       
  1216       </eAnnotations>
       
  1217     </eStructuralFeatures>
       
  1218     <eStructuralFeatures xsi:type="ecore:EReference" name="compoundProperty" upperBound="-2"
       
  1219         eType="#//CompoundPropertyType" volatile="true" transient="true" derived="true"
       
  1220         containment="true" resolveProxies="false">
       
  1221       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1222         <details key="kind" value="element"/>
       
  1223         <details key="name" value="compoundProperty"/>
       
  1224         <details key="namespace" value="##targetNamespace"/>
       
  1225         <details key="affiliation" value="abstractProperty"/>
       
  1226       </eAnnotations>
       
  1227     </eStructuralFeatures>
       
  1228     <eStructuralFeatures xsi:type="ecore:EReference" name="compoundPropertyDeclaration"
       
  1229         upperBound="-2" eType="#//CompoundPropertyDeclarationType" volatile="true"
       
  1230         transient="true" derived="true" containment="true" resolveProxies="false">
       
  1231       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1232         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Declares a compound type that may be referenced from one or more&#xD;&#xA;&#x9;&#x9;&#x9;compound property declarations in this or other component documents. All compound property declarations are in a global &#xD;&#xA;&#x9;&#x9;&#x9;namespace and must be declared as global elements.&#xD;&#xA;&#x9;&#x9;"/>
       
  1233       </eAnnotations>
       
  1234       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1235         <details key="kind" value="element"/>
       
  1236         <details key="name" value="compoundPropertyDeclaration"/>
       
  1237         <details key="namespace" value="##targetNamespace"/>
       
  1238       </eAnnotations>
       
  1239     </eStructuralFeatures>
       
  1240     <eStructuralFeatures xsi:type="ecore:EReference" name="defineLocation" upperBound="-2"
       
  1241         eType="#//DefineLocationType" volatile="true" transient="true" derived="true"
       
  1242         containment="true" resolveProxies="false">
       
  1243       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1244         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element defines a location in source, such as a function in the main &#xD;&#xA;&#x9;&#x9;file or a region of text in a class declaration.  &#xD;&#xA;&#x9;&#x9;This is a slight misnomer as this element does not by its presence realize&#xD;&#xA;&#x9;&#x9;the location.  Only when a contribution references&#xD;&#xA;&#x9;&#x9;location id (or post 1.1: when realize=&quot;true&quot; is used)&#xD;&#xA;&#x9;&#x9;will the location be added to source.&#xD;&#xA;&#x9;&#x9;"/>
       
  1245       </eAnnotations>
       
  1246       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1247         <details key="kind" value="element"/>
       
  1248         <details key="name" value="defineLocation"/>
       
  1249         <details key="namespace" value="##targetNamespace"/>
       
  1250       </eAnnotations>
       
  1251     </eStructuralFeatures>
       
  1252     <eStructuralFeatures xsi:type="ecore:EReference" name="defineMacro" upperBound="-2"
       
  1253         eType="#//DefineMacroType" volatile="true" transient="true" derived="true"
       
  1254         containment="true" resolveProxies="false">
       
  1255       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1256         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;This element defines a macro consisting of a set of templates &#xD;&#xA;&#x9;&#x9;and inlines which may be variable-substituted.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;If a given defineMacro imports multiple arguments&#xD;&#xA;&#x9;&#x9;of the same name, then they must be explicitly redefined,&#xD;&#xA;&#x9;&#x9;to resolve any ambiguities about the default value.  &#xD;&#xA;&#x9;&#x9;"/>
       
  1257       </eAnnotations>
       
  1258       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1259         <details key="kind" value="element"/>
       
  1260         <details key="name" value="defineMacro"/>
       
  1261         <details key="namespace" value="##targetNamespace"/>
       
  1262       </eAnnotations>
       
  1263     </eStructuralFeatures>
       
  1264     <eStructuralFeatures xsi:type="ecore:EReference" name="designerImages" upperBound="-2"
       
  1265         eType="#//DesignerImagesType" volatile="true" transient="true" derived="true"
       
  1266         containment="true" resolveProxies="false">
       
  1267       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1268         <details key="documentation" value="This element is specifies images for use by the UI designer. Only those images that apply need to be defined, e.g.&#xD;&#xA;&#x9;&#x9;if a component never appears in the UI design wizard or palette then it doesn't need those images.&#xD;&#xA;&#x9;&#x9;"/>
       
  1269       </eAnnotations>
       
  1270       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1271         <details key="kind" value="element"/>
       
  1272         <details key="name" value="designerImages"/>
       
  1273         <details key="namespace" value="##targetNamespace"/>
       
  1274       </eAnnotations>
       
  1275     </eStructuralFeatures>
       
  1276     <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" upperBound="-2"
       
  1277         eType="#//DocumentationType" volatile="true" transient="true" derived="true"
       
  1278         containment="true" resolveProxies="false">
       
  1279       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1280         <details key="documentation" value="The optional documentation element provides brief description information about the component and a link to more detailed documentation&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  1281       </eAnnotations>
       
  1282       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1283         <details key="kind" value="element"/>
       
  1284         <details key="name" value="documentation"/>
       
  1285         <details key="namespace" value="##targetNamespace"/>
       
  1286       </eAnnotations>
       
  1287     </eStructuralFeatures>
       
  1288     <eStructuralFeatures xsi:type="ecore:EReference" name="enumProperty" upperBound="-2"
       
  1289         eType="#//EnumPropertyType" volatile="true" transient="true" derived="true"
       
  1290         containment="true" resolveProxies="false">
       
  1291       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1292         <details key="kind" value="element"/>
       
  1293         <details key="name" value="enumProperty"/>
       
  1294         <details key="namespace" value="##targetNamespace"/>
       
  1295         <details key="affiliation" value="abstractProperty"/>
       
  1296       </eAnnotations>
       
  1297     </eStructuralFeatures>
       
  1298     <eStructuralFeatures xsi:type="ecore:EReference" name="enumPropertyDeclaration"
       
  1299         upperBound="-2" eType="#//EnumPropertyDeclarationType" volatile="true" transient="true"
       
  1300         derived="true" containment="true" resolveProxies="false">
       
  1301       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1302         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;Declares an enumerated type that may be referenced from one or more&#xD;&#xA;&#x9;&#x9;&#x9;enumerated property declarations in this or other component documents. All enum property declarations are in a global &#xD;&#xA;&#x9;&#x9;&#x9;namespace and must be declared as global elements.&#xD;&#xA;&#x9;&#x9;"/>
       
  1303       </eAnnotations>
       
  1304       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1305         <details key="kind" value="element"/>
       
  1306         <details key="name" value="enumPropertyDeclaration"/>
       
  1307         <details key="namespace" value="##targetNamespace"/>
       
  1308       </eAnnotations>
       
  1309     </eStructuralFeatures>
       
  1310     <eStructuralFeatures xsi:type="ecore:EReference" name="event" upperBound="-2"
       
  1311         eType="#//EventType" volatile="true" transient="true" derived="true" containment="true"
       
  1312         resolveProxies="false">
       
  1313       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1314         <details key="documentation" value="The definition of a single event.&#xD;&#xA;&#x9;&#x9;"/>
       
  1315       </eAnnotations>
       
  1316       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1317         <details key="kind" value="element"/>
       
  1318         <details key="name" value="event"/>
       
  1319         <details key="namespace" value="##targetNamespace"/>
       
  1320       </eAnnotations>
       
  1321     </eStructuralFeatures>
       
  1322     <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-2"
       
  1323         eType="#//EventsType" volatile="true" transient="true" derived="true" containment="true"
       
  1324         resolveProxies="false">
       
  1325       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1326         <details key="documentation" value="The list of events defined for this component. Components also inherit the events of&#xD;&#xA;&#x9;&#x9;&#x9;their base components. Events are named notifications or hooks to which code can be attached. The data here is&#xD;&#xA;&#x9;&#x9;&#x9;used to drive the user interface. The details of source code generation are part of the source code generation templates.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;The set of available events, and default event, may be overriden via code or script. See the &#xD;&#xA;&#x9;&#x9;&#x9;com.nokia.sdt.datamodel.adapter.IComponentEventInfo interface for more information.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1327       </eAnnotations>
       
  1328       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1329         <details key="kind" value="element"/>
       
  1330         <details key="name" value="events"/>
       
  1331         <details key="namespace" value="##targetNamespace"/>
       
  1332       </eAnnotations>
       
  1333     </eStructuralFeatures>
       
  1334     <eStructuralFeatures xsi:type="ecore:EReference" name="expandArgument" upperBound="-2"
       
  1335         eType="#//ExpandArgumentType" volatile="true" transient="true" derived="true"
       
  1336         containment="true" resolveProxies="false">
       
  1337       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1338         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;Provides multiline text content for an argument.&#xD;&#xA;&#x9;&#x9;This is semantically identical to setting an attribute of the same&#xD;&#xA;&#x9;&#x9;name=&quot;...&quot; value in the expandMacro element, with any standalone &#xD;&#xA;&#x9;&#x9;leading whitespace and standalone trailing whitespace removed&#xD;&#xA;&#x9;&#x9;(as with &amp;lt;template&amp;gt;).&#xD;&#xA;&#x9;&#x9;"/>
       
  1339       </eAnnotations>
       
  1340       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1341         <details key="kind" value="element"/>
       
  1342         <details key="name" value="expandArgument"/>
       
  1343         <details key="namespace" value="##targetNamespace"/>
       
  1344       </eAnnotations>
       
  1345     </eStructuralFeatures>
       
  1346     <eStructuralFeatures xsi:type="ecore:EReference" name="expandMacro" upperBound="-2"
       
  1347         eType="#//ExpandMacroType" volatile="true" transient="true" derived="true"
       
  1348         containment="true" resolveProxies="false">
       
  1349       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1350         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Expands a given macro into the sourceGen of the caller.  &#xD;&#xA;&#x9;&#x9;This has the same effect as inserting the same templates and inlines &#xD;&#xA;&#x9;&#x9;from the macro's definition at the point of call.  &#xD;&#xA;&#x9;&#x9;Variable references from those templates and inlines&#xD;&#xA;&#x9;&#x9;are substituted with the values provided in attributes &#xD;&#xA;&#x9;&#x9;(e.g. variableName=&quot;value&quot;) or expandArgument child elements.  &#xD;&#xA;&#x9;&#x9;The latter may be preferred for cases where code is substituted,&#xD;&#xA;&#x9;&#x9;so the formatting may be retained.&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;As a special case, variable references may have modifiers to&#xD;&#xA;&#x9;&#x9;modify the formatting of a variable when it is expanded.  &#xD;&#xA;&#x9;&#x9;Modifiers are appended&#xD;&#xA;&#x9;&#x9;to the variable name as in: $(varName::modifier).  &#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Currently supported modifiers are all for tweaking canonical&#xD;&#xA;&#x9;&#x9;function argument lists, which match the format of &#xD;&#xA;&#x9;&#x9;declaration, with spaces, argument names, default values, etc:&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;ul xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-declaration-args: identity&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-definition-args: removes default argument values&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-location-args: removes argument names, default arguments, and spaces&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&lt;/ul>&#xD;&#xA;&#x9;&#x9;"/>
       
  1351       </eAnnotations>
       
  1352       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1353         <details key="kind" value="element"/>
       
  1354         <details key="name" value="expandMacro"/>
       
  1355         <details key="namespace" value="##targetNamespace"/>
       
  1356       </eAnnotations>
       
  1357     </eStructuralFeatures>
       
  1358     <eStructuralFeatures xsi:type="ecore:EReference" name="extensionProperties" upperBound="-2"
       
  1359         eType="#//ExtensionPropertiesType" volatile="true" transient="true" derived="true"
       
  1360         containment="true" resolveProxies="false">
       
  1361       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1362         <details key="documentation" value="Extension properties may be dynamically added, based on the state of an instance of this&#xD;&#xA;&#x9;&#x9;component, its container, or other objects. There may be more than one set of extension properties defined in a component.&#xD;&#xA;&#x9;&#x9;See the com.nokia.sdt.datamodel.adapter.IPropertyExtenders interface.&#xD;&#xA;&#x9;&#x9;"/>
       
  1363       </eAnnotations>
       
  1364       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1365         <details key="kind" value="element"/>
       
  1366         <details key="name" value="extensionProperties"/>
       
  1367         <details key="namespace" value="##targetNamespace"/>
       
  1368       </eAnnotations>
       
  1369     </eStructuralFeatures>
       
  1370     <eStructuralFeatures xsi:type="ecore:EReference" name="implementation" upperBound="-2"
       
  1371         eType="#//ImplementationType" volatile="true" transient="true" derived="true"
       
  1372         containment="true" resolveProxies="false">
       
  1373       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1374         <details key="kind" value="element"/>
       
  1375         <details key="name" value="implementation"/>
       
  1376         <details key="namespace" value="##targetNamespace"/>
       
  1377       </eAnnotations>
       
  1378     </eStructuralFeatures>
       
  1379     <eStructuralFeatures xsi:type="ecore:EReference" name="implementations" upperBound="-2"
       
  1380         eType="#//ImplementationsType" volatile="true" transient="true" derived="true"
       
  1381         containment="true" resolveProxies="false">
       
  1382       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1383         <details key="documentation" value="Implementation elements declare code or script implementations of interfaces by name.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1384       </eAnnotations>
       
  1385       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1386         <details key="kind" value="element"/>
       
  1387         <details key="name" value="implementations"/>
       
  1388         <details key="namespace" value="##targetNamespace"/>
       
  1389       </eAnnotations>
       
  1390     </eStructuralFeatures>
       
  1391     <eStructuralFeatures xsi:type="ecore:EReference" name="importArguments" upperBound="-2"
       
  1392         eType="#//ImportArgumentsType" volatile="true" transient="true" derived="true"
       
  1393         containment="true" resolveProxies="false">
       
  1394       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1395         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;This element specifies that a list of arguments (name, type, defaults,&#xD;&#xA;&#x9;&#x9;optional flags) will be imported from another macro. &#xD;&#xA;&#x9;&#x9;If this element is omitted, then all the arguments from the macro&#xD;&#xA;&#x9;&#x9;are imported.  &#xD;&#xA;&#x9;&#x9;"/>
       
  1396       </eAnnotations>
       
  1397       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1398         <details key="kind" value="element"/>
       
  1399         <details key="name" value="importArguments"/>
       
  1400         <details key="namespace" value="##targetNamespace"/>
       
  1401       </eAnnotations>
       
  1402     </eStructuralFeatures>
       
  1403     <eStructuralFeatures xsi:type="ecore:EReference" name="inline" upperBound="-2"
       
  1404         eType="#//InlineType" volatile="true" transient="true" derived="true" containment="true"
       
  1405         resolveProxies="false">
       
  1406       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1407         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Provide Javascript in-line with templates and other sourceGen elements.&#xD;&#xA;&#x9;&#x9;Be sure to supply a &quot;forms&quot; attribute, otherwise the code may execute multiple times&#xD;&#xA;&#x9;&#x9;during the source generation contribution-gathering phase.&#xD;&#xA;&#x9;&#x9;"/>
       
  1408       </eAnnotations>
       
  1409       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1410         <details key="kind" value="element"/>
       
  1411         <details key="name" value="inline"/>
       
  1412         <details key="namespace" value="##targetNamespace"/>
       
  1413       </eAnnotations>
       
  1414     </eStructuralFeatures>
       
  1415     <eStructuralFeatures xsi:type="ecore:EReference" name="macroArgument" upperBound="-2"
       
  1416         eType="#//MacroArgumentType" volatile="true" transient="true" derived="true"
       
  1417         containment="true" resolveProxies="false">
       
  1418       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1419         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Defines an argument for use with the macro.&#xD;&#xA;&#x9;&#x9;The default value may be specified in the 'default' attribute or in the text of the element.&#xD;&#xA;&#x9;&#x9;The text supercedes the attribute.  &#xD;&#xA;&#x9;&#x9;"/>
       
  1420       </eAnnotations>
       
  1421       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1422         <details key="kind" value="element"/>
       
  1423         <details key="name" value="macroArgument"/>
       
  1424         <details key="namespace" value="##targetNamespace"/>
       
  1425       </eAnnotations>
       
  1426     </eStructuralFeatures>
       
  1427     <eStructuralFeatures xsi:type="ecore:EReference" name="mapArrayMember" upperBound="-2"
       
  1428         eType="#//MapArrayMemberType" volatile="true" transient="true" derived="true"
       
  1429         containment="true" resolveProxies="false">
       
  1430       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1431         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property or child list to an array in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1432       </eAnnotations>
       
  1433       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1434         <details key="kind" value="element"/>
       
  1435         <details key="name" value="mapArrayMember"/>
       
  1436         <details key="namespace" value="##targetNamespace"/>
       
  1437         <details key="affiliation" value="twoWayMapping"/>
       
  1438       </eAnnotations>
       
  1439     </eStructuralFeatures>
       
  1440     <eStructuralFeatures xsi:type="ecore:EReference" name="twoWayMapping" upperBound="-2"
       
  1441         eType="#//TwoWayMappingType" changeable="false" volatile="true" transient="true"
       
  1442         derived="true" containment="true" resolveProxies="false">
       
  1443       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1444         <details key="kind" value="element"/>
       
  1445         <details key="name" value="twoWayMapping"/>
       
  1446         <details key="namespace" value="##targetNamespace"/>
       
  1447       </eAnnotations>
       
  1448     </eStructuralFeatures>
       
  1449     <eStructuralFeatures xsi:type="ecore:EReference" name="mapArrayType" upperBound="-2"
       
  1450         eType="#//MapArrayTypeType" volatile="true" transient="true" derived="true"
       
  1451         containment="true" resolveProxies="false">
       
  1452       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1453         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property or child list to an array in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1454       </eAnnotations>
       
  1455       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1456         <details key="kind" value="element"/>
       
  1457         <details key="name" value="mapArrayType"/>
       
  1458         <details key="namespace" value="##targetNamespace"/>
       
  1459         <details key="affiliation" value="twoWayMapping"/>
       
  1460       </eAnnotations>
       
  1461     </eStructuralFeatures>
       
  1462     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskElement" upperBound="-2"
       
  1463         eType="#//MapBitmaskElementType" volatile="true" transient="true" derived="true"
       
  1464         containment="true" resolveProxies="false">
       
  1465       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1466         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of boolean properties to an expression in an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1467       </eAnnotations>
       
  1468       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1469         <details key="kind" value="element"/>
       
  1470         <details key="name" value="mapBitmaskElement"/>
       
  1471         <details key="namespace" value="##targetNamespace"/>
       
  1472         <details key="affiliation" value="twoWayMapping"/>
       
  1473       </eAnnotations>
       
  1474     </eStructuralFeatures>
       
  1475     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskMember" upperBound="-2"
       
  1476         eType="#//MapBitmaskMemberType" volatile="true" transient="true" derived="true"
       
  1477         containment="true" resolveProxies="false">
       
  1478       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1479         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of boolean properties to a bitmask expression in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1480       </eAnnotations>
       
  1481       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1482         <details key="kind" value="element"/>
       
  1483         <details key="name" value="mapBitmaskMember"/>
       
  1484         <details key="namespace" value="##targetNamespace"/>
       
  1485         <details key="affiliation" value="twoWayMapping"/>
       
  1486       </eAnnotations>
       
  1487     </eStructuralFeatures>
       
  1488     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskType" upperBound="-2"
       
  1489         eType="#//MapBitmaskTypeType" volatile="true" transient="true" derived="true"
       
  1490         containment="true" resolveProxies="false">
       
  1491       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1492         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of boolean properties to a bitmask expression in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1493       </eAnnotations>
       
  1494       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1495         <details key="kind" value="element"/>
       
  1496         <details key="name" value="mapBitmaskType"/>
       
  1497         <details key="namespace" value="##targetNamespace"/>
       
  1498         <details key="affiliation" value="twoWayMapping"/>
       
  1499       </eAnnotations>
       
  1500     </eStructuralFeatures>
       
  1501     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskValue" upperBound="-2"
       
  1502         eType="#//MapBitmaskValueType" volatile="true" transient="true" derived="true"
       
  1503         containment="true" resolveProxies="false">
       
  1504       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1505         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of properties to a subexpression of the bitmask expression.  If all the given&#xD;&#xA;&#x9;&#x9;properties are &quot;true&quot;, the given value is OR'ed into the target expression.&#xD;&#xA;&#x9;&#x9;"/>
       
  1506       </eAnnotations>
       
  1507       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1508         <details key="kind" value="element"/>
       
  1509         <details key="name" value="mapBitmaskValue"/>
       
  1510         <details key="namespace" value="##targetNamespace"/>
       
  1511       </eAnnotations>
       
  1512     </eStructuralFeatures>
       
  1513     <eStructuralFeatures xsi:type="ecore:EReference" name="mapElementFromType" upperBound="-2"
       
  1514         eType="#//MapElementFromTypeType" volatile="true" transient="true" derived="true"
       
  1515         containment="true" resolveProxies="false">
       
  1516       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1517         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map RSS from the type declaration attached to the current element.&#xD;&#xA;&#x9;&#x9;You may need to use &amp;lt;mapProperty&amp;gt; to descend into a child of the current&#xD;&#xA;&#x9;&#x9;element for this to work.&#xD;&#xA;&#x9;&#x9;"/>
       
  1518       </eAnnotations>
       
  1519       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1520         <details key="kind" value="element"/>
       
  1521         <details key="name" value="mapElementFromType"/>
       
  1522         <details key="namespace" value="##targetNamespace"/>
       
  1523         <details key="affiliation" value="twoWayMapping"/>
       
  1524       </eAnnotations>
       
  1525     </eStructuralFeatures>
       
  1526     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnum" upperBound="-2"
       
  1527         eType="#//MapEnumType" volatile="true" transient="true" derived="true" containment="true"
       
  1528         resolveProxies="false">
       
  1529       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1530         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines the mapping of one particular property value to one&#xD;&#xA;&#x9;&#x9;particular RSS value.&#xD;&#xA;&#x9;&#x9;"/>
       
  1531       </eAnnotations>
       
  1532       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1533         <details key="kind" value="element"/>
       
  1534         <details key="name" value="mapEnum"/>
       
  1535         <details key="namespace" value="##targetNamespace"/>
       
  1536       </eAnnotations>
       
  1537     </eStructuralFeatures>
       
  1538     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnumElement" upperBound="-2"
       
  1539         eType="#//MapEnumElementType" volatile="true" transient="true" derived="true"
       
  1540         containment="true" resolveProxies="false">
       
  1541       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1542         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an enumerator to an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1543       </eAnnotations>
       
  1544       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1545         <details key="kind" value="element"/>
       
  1546         <details key="name" value="mapEnumElement"/>
       
  1547         <details key="namespace" value="##targetNamespace"/>
       
  1548         <details key="affiliation" value="twoWayMapping"/>
       
  1549       </eAnnotations>
       
  1550     </eStructuralFeatures>
       
  1551     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnumMember" upperBound="-2"
       
  1552         eType="#//MapEnumMemberType" volatile="true" transient="true" derived="true"
       
  1553         containment="true" resolveProxies="false">
       
  1554       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1555         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an enumerator to RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1556       </eAnnotations>
       
  1557       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1558         <details key="kind" value="element"/>
       
  1559         <details key="name" value="mapEnumMember"/>
       
  1560         <details key="namespace" value="##targetNamespace"/>
       
  1561         <details key="affiliation" value="twoWayMapping"/>
       
  1562       </eAnnotations>
       
  1563     </eStructuralFeatures>
       
  1564     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnumType" upperBound="-2"
       
  1565         eType="#//MapEnumTypeType" volatile="true" transient="true" derived="true"
       
  1566         containment="true" resolveProxies="false">
       
  1567       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1568         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an enumerator to RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1569       </eAnnotations>
       
  1570       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1571         <details key="kind" value="element"/>
       
  1572         <details key="name" value="mapEnumType"/>
       
  1573         <details key="namespace" value="##targetNamespace"/>
       
  1574         <details key="affiliation" value="twoWayMapping"/>
       
  1575       </eAnnotations>
       
  1576     </eStructuralFeatures>
       
  1577     <eStructuralFeatures xsi:type="ecore:EReference" name="mapFixedElement" upperBound="-2"
       
  1578         eType="#//MapFixedElementType" volatile="true" transient="true" derived="true"
       
  1579         containment="true" resolveProxies="false">
       
  1580       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1581         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a fixed value to an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1582       </eAnnotations>
       
  1583       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1584         <details key="kind" value="element"/>
       
  1585         <details key="name" value="mapFixedElement"/>
       
  1586         <details key="namespace" value="##targetNamespace"/>
       
  1587         <details key="affiliation" value="twoWayMapping"/>
       
  1588       </eAnnotations>
       
  1589     </eStructuralFeatures>
       
  1590     <eStructuralFeatures xsi:type="ecore:EReference" name="mapFixedMember" upperBound="-2"
       
  1591         eType="#//MapFixedMemberType" volatile="true" transient="true" derived="true"
       
  1592         containment="true" resolveProxies="false">
       
  1593       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1594         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a fixed value to an RSS member.&#xD;&#xA;&#x9;&#x9;"/>
       
  1595       </eAnnotations>
       
  1596       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1597         <details key="kind" value="element"/>
       
  1598         <details key="name" value="mapFixedMember"/>
       
  1599         <details key="namespace" value="##targetNamespace"/>
       
  1600         <details key="affiliation" value="twoWayMapping"/>
       
  1601       </eAnnotations>
       
  1602     </eStructuralFeatures>
       
  1603     <eStructuralFeatures xsi:type="ecore:EReference" name="mapFixedType" upperBound="-2"
       
  1604         eType="#//MapFixedTypeType" volatile="true" transient="true" derived="true"
       
  1605         containment="true" resolveProxies="false">
       
  1606       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1607         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a fixed value.&#xD;&#xA;&#x9;&#x9;"/>
       
  1608       </eAnnotations>
       
  1609       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1610         <details key="kind" value="element"/>
       
  1611         <details key="name" value="mapFixedType"/>
       
  1612         <details key="namespace" value="##targetNamespace"/>
       
  1613         <details key="affiliation" value="twoWayMapping"/>
       
  1614       </eAnnotations>
       
  1615     </eStructuralFeatures>
       
  1616     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIdentifierElement" upperBound="-2"
       
  1617         eType="#//MapIdentifierElementType" volatile="true" transient="true" derived="true"
       
  1618         containment="true" resolveProxies="false">
       
  1619       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1620         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple value to a literal (identifier) in an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1621       </eAnnotations>
       
  1622       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1623         <details key="kind" value="element"/>
       
  1624         <details key="name" value="mapIdentifierElement"/>
       
  1625         <details key="namespace" value="##targetNamespace"/>
       
  1626         <details key="affiliation" value="twoWayMapping"/>
       
  1627       </eAnnotations>
       
  1628     </eStructuralFeatures>
       
  1629     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIdentifierMember" upperBound="-2"
       
  1630         eType="#//MapIdentifierMemberType" volatile="true" transient="true" derived="true"
       
  1631         containment="true" resolveProxies="false">
       
  1632       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1633         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple property to a literal (identifier) in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1634       </eAnnotations>
       
  1635       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1636         <details key="kind" value="element"/>
       
  1637         <details key="name" value="mapIdentifierMember"/>
       
  1638         <details key="namespace" value="##targetNamespace"/>
       
  1639         <details key="affiliation" value="twoWayMapping"/>
       
  1640       </eAnnotations>
       
  1641     </eStructuralFeatures>
       
  1642     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIdentifierType" upperBound="-2"
       
  1643         eType="#//MapIdentifierTypeType" volatile="true" transient="true" derived="true"
       
  1644         containment="true" resolveProxies="false">
       
  1645       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1646         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple property to a literal (identifier) in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  1647       </eAnnotations>
       
  1648       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1649         <details key="kind" value="element"/>
       
  1650         <details key="name" value="mapIdentifierType"/>
       
  1651         <details key="namespace" value="##targetNamespace"/>
       
  1652         <details key="affiliation" value="twoWayMapping"/>
       
  1653       </eAnnotations>
       
  1654     </eStructuralFeatures>
       
  1655     <eStructuralFeatures xsi:type="ecore:EReference" name="mapInstanceElement" upperBound="-2"
       
  1656         eType="#//MapInstanceElementType" volatile="true" transient="true" derived="true"
       
  1657         containment="true" resolveProxies="false">
       
  1658       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1659         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an instance's resources to an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1660       </eAnnotations>
       
  1661       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1662         <details key="kind" value="element"/>
       
  1663         <details key="name" value="mapInstanceElement"/>
       
  1664         <details key="namespace" value="##targetNamespace"/>
       
  1665         <details key="affiliation" value="twoWayMapping"/>
       
  1666       </eAnnotations>
       
  1667     </eStructuralFeatures>
       
  1668     <eStructuralFeatures xsi:type="ecore:EReference" name="mapInstanceMember" upperBound="-2"
       
  1669         eType="#//MapInstanceMemberType" volatile="true" transient="true" derived="true"
       
  1670         containment="true" resolveProxies="false">
       
  1671       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1672         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map resources for an instance.&#xD;&#xA;&#x9;&#x9;"/>
       
  1673       </eAnnotations>
       
  1674       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1675         <details key="kind" value="element"/>
       
  1676         <details key="name" value="mapInstanceMember"/>
       
  1677         <details key="namespace" value="##targetNamespace"/>
       
  1678         <details key="affiliation" value="twoWayMapping"/>
       
  1679       </eAnnotations>
       
  1680     </eStructuralFeatures>
       
  1681     <eStructuralFeatures xsi:type="ecore:EReference" name="mapInstanceType" upperBound="-2"
       
  1682         eType="#//MapInstanceTypeType" volatile="true" transient="true" derived="true"
       
  1683         containment="true" resolveProxies="false">
       
  1684       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1685         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map resources for an instance.&#xD;&#xA;&#x9;&#x9;"/>
       
  1686       </eAnnotations>
       
  1687       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1688         <details key="kind" value="element"/>
       
  1689         <details key="name" value="mapInstanceType"/>
       
  1690         <details key="namespace" value="##targetNamespace"/>
       
  1691         <details key="affiliation" value="twoWayMapping"/>
       
  1692       </eAnnotations>
       
  1693     </eStructuralFeatures>
       
  1694     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIntoProperty" upperBound="-2"
       
  1695         eType="#//MapIntoPropertyType" volatile="true" transient="true" derived="true"
       
  1696         containment="true" resolveProxies="false">
       
  1697       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1698         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Delve into a property path without generating any resources.&#xD;&#xA;&#x9;&#x9;"/>
       
  1699       </eAnnotations>
       
  1700       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1701         <details key="kind" value="element"/>
       
  1702         <details key="name" value="mapIntoProperty"/>
       
  1703         <details key="namespace" value="##targetNamespace"/>
       
  1704         <details key="affiliation" value="twoWayMapping"/>
       
  1705       </eAnnotations>
       
  1706     </eStructuralFeatures>
       
  1707     <eStructuralFeatures xsi:type="ecore:EReference" name="mapMemberFromType" upperBound="-2"
       
  1708         eType="#//MapMemberFromTypeType" volatile="true" transient="true" derived="true"
       
  1709         containment="true" resolveProxies="false">
       
  1710       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1711         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map RSS from the type declaration attached to the given property.&#xD;&#xA;&#x9;&#x9;"/>
       
  1712       </eAnnotations>
       
  1713       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1714         <details key="kind" value="element"/>
       
  1715         <details key="name" value="mapMemberFromType"/>
       
  1716         <details key="namespace" value="##targetNamespace"/>
       
  1717         <details key="affiliation" value="twoWayMapping"/>
       
  1718       </eAnnotations>
       
  1719     </eStructuralFeatures>
       
  1720     <eStructuralFeatures xsi:type="ecore:EReference" name="mapReferenceElement" upperBound="-2"
       
  1721         eType="#//MapReferenceElementType" volatile="true" transient="true" derived="true"
       
  1722         containment="true" resolveProxies="false">
       
  1723       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1724         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a reference property to an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1725       </eAnnotations>
       
  1726       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1727         <details key="kind" value="element"/>
       
  1728         <details key="name" value="mapReferenceElement"/>
       
  1729         <details key="namespace" value="##targetNamespace"/>
       
  1730         <details key="affiliation" value="twoWayMapping"/>
       
  1731       </eAnnotations>
       
  1732     </eStructuralFeatures>
       
  1733     <eStructuralFeatures xsi:type="ecore:EReference" name="mapReferenceMember" upperBound="-2"
       
  1734         eType="#//MapReferenceMemberType" volatile="true" transient="true" derived="true"
       
  1735         containment="true" resolveProxies="false">
       
  1736       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1737         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a reference property to resources the instance generates.&#xD;&#xA;&#x9;&#x9;"/>
       
  1738       </eAnnotations>
       
  1739       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1740         <details key="kind" value="element"/>
       
  1741         <details key="name" value="mapReferenceMember"/>
       
  1742         <details key="namespace" value="##targetNamespace"/>
       
  1743         <details key="affiliation" value="twoWayMapping"/>
       
  1744       </eAnnotations>
       
  1745     </eStructuralFeatures>
       
  1746     <eStructuralFeatures xsi:type="ecore:EReference" name="mapReferenceType" upperBound="-2"
       
  1747         eType="#//MapReferenceTypeType" volatile="true" transient="true" derived="true"
       
  1748         containment="true" resolveProxies="false">
       
  1749       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1750         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a reference property to resources the instance generates.&#xD;&#xA;&#x9;&#x9;"/>
       
  1751       </eAnnotations>
       
  1752       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1753         <details key="kind" value="element"/>
       
  1754         <details key="name" value="mapReferenceType"/>
       
  1755         <details key="namespace" value="##targetNamespace"/>
       
  1756         <details key="affiliation" value="twoWayMapping"/>
       
  1757       </eAnnotations>
       
  1758     </eStructuralFeatures>
       
  1759     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResource" upperBound="-2"
       
  1760         eType="#//MapResourceType" volatile="true" transient="true" derived="true"
       
  1761         containment="true" resolveProxies="false">
       
  1762       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1763         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an instance to a RESOURCE.&#xD;&#xA;&#x9;&#x9;"/>
       
  1764       </eAnnotations>
       
  1765       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1766         <details key="kind" value="element"/>
       
  1767         <details key="name" value="mapResource"/>
       
  1768         <details key="namespace" value="##targetNamespace"/>
       
  1769       </eAnnotations>
       
  1770     </eStructuralFeatures>
       
  1771     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResourceElement" upperBound="-2"
       
  1772         eType="#//MapResourceElementType" volatile="true" transient="true" derived="true"
       
  1773         containment="true" resolveProxies="false">
       
  1774       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1775         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a compound property or instance to resources in an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1776       </eAnnotations>
       
  1777       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1778         <details key="kind" value="element"/>
       
  1779         <details key="name" value="mapResourceElement"/>
       
  1780         <details key="namespace" value="##targetNamespace"/>
       
  1781         <details key="affiliation" value="twoWayMapping"/>
       
  1782       </eAnnotations>
       
  1783     </eStructuralFeatures>
       
  1784     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResourceMember" upperBound="-2"
       
  1785         eType="#//MapResourceMemberType" volatile="true" transient="true" derived="true"
       
  1786         containment="true" resolveProxies="false">
       
  1787       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1788         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property to a RESOURCE expression or statement.&#xD;&#xA;&#x9;&#x9;"/>
       
  1789       </eAnnotations>
       
  1790       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1791         <details key="kind" value="element"/>
       
  1792         <details key="name" value="mapResourceMember"/>
       
  1793         <details key="namespace" value="##targetNamespace"/>
       
  1794         <details key="affiliation" value="twoWayMapping"/>
       
  1795       </eAnnotations>
       
  1796     </eStructuralFeatures>
       
  1797     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResourceType" upperBound="-2"
       
  1798         eType="#//MapResourceTypeType" volatile="true" transient="true" derived="true"
       
  1799         containment="true" resolveProxies="false">
       
  1800       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1801         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property to a RESOURCE expression or statement.&#xD;&#xA;&#x9;&#x9;"/>
       
  1802       </eAnnotations>
       
  1803       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1804         <details key="kind" value="element"/>
       
  1805         <details key="name" value="mapResourceType"/>
       
  1806         <details key="namespace" value="##targetNamespace"/>
       
  1807         <details key="affiliation" value="twoWayMapping"/>
       
  1808       </eAnnotations>
       
  1809     </eStructuralFeatures>
       
  1810     <eStructuralFeatures xsi:type="ecore:EReference" name="mapSimpleElement" upperBound="-2"
       
  1811         eType="#//MapSimpleElementType" volatile="true" transient="true" derived="true"
       
  1812         containment="true" resolveProxies="false">
       
  1813       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1814         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple value to an array element.&#xD;&#xA;&#x9;&#x9;"/>
       
  1815       </eAnnotations>
       
  1816       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1817         <details key="kind" value="element"/>
       
  1818         <details key="name" value="mapSimpleElement"/>
       
  1819         <details key="namespace" value="##targetNamespace"/>
       
  1820         <details key="affiliation" value="twoWayMapping"/>
       
  1821       </eAnnotations>
       
  1822     </eStructuralFeatures>
       
  1823     <eStructuralFeatures xsi:type="ecore:EReference" name="mapSimpleMember" upperBound="-2"
       
  1824         eType="#//MapSimpleMemberType" volatile="true" transient="true" derived="true"
       
  1825         containment="true" resolveProxies="false">
       
  1826       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1827         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple value to a member.&#xD;&#xA;&#x9;&#x9;"/>
       
  1828       </eAnnotations>
       
  1829       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1830         <details key="kind" value="element"/>
       
  1831         <details key="name" value="mapSimpleMember"/>
       
  1832         <details key="namespace" value="##targetNamespace"/>
       
  1833         <details key="affiliation" value="twoWayMapping"/>
       
  1834       </eAnnotations>
       
  1835     </eStructuralFeatures>
       
  1836     <eStructuralFeatures xsi:type="ecore:EReference" name="mapSimpleType" upperBound="-2"
       
  1837         eType="#//MapSimpleTypeType" volatile="true" transient="true" derived="true"
       
  1838         containment="true" resolveProxies="false">
       
  1839       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1840         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple value.&#xD;&#xA;&#x9;&#x9;"/>
       
  1841       </eAnnotations>
       
  1842       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1843         <details key="kind" value="element"/>
       
  1844         <details key="name" value="mapSimpleType"/>
       
  1845         <details key="namespace" value="##targetNamespace"/>
       
  1846         <details key="affiliation" value="twoWayMapping"/>
       
  1847       </eAnnotations>
       
  1848     </eStructuralFeatures>
       
  1849     <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-2"
       
  1850         eType="#//PropertiesType" volatile="true" transient="true" derived="true"
       
  1851         containment="true" resolveProxies="false">
       
  1852       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1853         <details key="documentation" value="The list of properties defined for this component. Components also inherit the properties of their base&#xD;&#xA;&#x9;&#x9;components, and can have properties added dynamically, see extensionProperties.&#xD;&#xA;&#x9;&#x9;"/>
       
  1854       </eAnnotations>
       
  1855       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1856         <details key="kind" value="element"/>
       
  1857         <details key="name" value="properties"/>
       
  1858         <details key="namespace" value="##targetNamespace"/>
       
  1859       </eAnnotations>
       
  1860     </eStructuralFeatures>
       
  1861     <eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-2"
       
  1862         eType="#//SimplePropertyType" volatile="true" transient="true" derived="true"
       
  1863         containment="true" resolveProxies="false">
       
  1864       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1865         <details key="kind" value="element"/>
       
  1866         <details key="name" value="property"/>
       
  1867         <details key="namespace" value="##targetNamespace"/>
       
  1868         <details key="affiliation" value="abstractProperty"/>
       
  1869       </eAnnotations>
       
  1870     </eStructuralFeatures>
       
  1871     <eStructuralFeatures xsi:type="ecore:EReference" name="propertyOverrides" upperBound="-2"
       
  1872         eType="#//PropertyOverridesType" volatile="true" transient="true" derived="true"
       
  1873         containment="true" resolveProxies="false">
       
  1874       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1875         <details key="documentation" value="A list of property overrides defined for this component. Components also&#xD;&#xA;&#x9;&#x9;inherit the property overrides of their base components, with changes applied by the most derived component taking&#xD;&#xA;&#x9;&#x9;precedence. &#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;Property overrides allow certain characteristics of a property to be modified, such as changing a modifiable property&#xD;&#xA;&#x9;&#x9;to read-only.&#xD;&#xA;&#x9;&#x9;"/>
       
  1876       </eAnnotations>
       
  1877       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1878         <details key="kind" value="element"/>
       
  1879         <details key="name" value="propertyOverrides"/>
       
  1880         <details key="namespace" value="##targetNamespace"/>
       
  1881       </eAnnotations>
       
  1882     </eStructuralFeatures>
       
  1883     <eStructuralFeatures xsi:type="ecore:EReference" name="script" upperBound="-2"
       
  1884         eType="#//ScriptType" volatile="true" transient="true" derived="true" containment="true"
       
  1885         resolveProxies="false">
       
  1886       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1887         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Define a reference to an interface implemented in Javascript.&#xD;&#xA;&#x9;&#x9;"/>
       
  1888       </eAnnotations>
       
  1889       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1890         <details key="kind" value="element"/>
       
  1891         <details key="name" value="script"/>
       
  1892         <details key="namespace" value="##targetNamespace"/>
       
  1893       </eAnnotations>
       
  1894     </eStructuralFeatures>
       
  1895     <eStructuralFeatures xsi:type="ecore:EReference" name="select" upperBound="-2"
       
  1896         eType="#//SelectType" volatile="true" transient="true" derived="true" containment="true"
       
  1897         resolveProxies="false">
       
  1898       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1899         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element encapsulates choice elements which allow conditional&#xD;&#xA;&#x9;&#x9;source mapping.  One choice must match or an error results (you can&#xD;&#xA;&#x9;&#x9;use an empty choice to match the default case if necessary).  Only&#xD;&#xA;&#x9;&#x9;the first matching choice is considered.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9; for the select statement.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;"/>
       
  1900       </eAnnotations>
       
  1901       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1902         <details key="kind" value="element"/>
       
  1903         <details key="name" value="select"/>
       
  1904         <details key="namespace" value="##targetNamespace"/>
       
  1905       </eAnnotations>
       
  1906     </eStructuralFeatures>
       
  1907     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceGen" upperBound="-2"
       
  1908         eType="#//SourceGenType" volatile="true" transient="true" derived="true" containment="true"
       
  1909         resolveProxies="false">
       
  1910       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1911         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This section controls C/C++ source generation (with the potential to support &#xD;&#xA;&#x9;&#x9;other one-way languages).  In a sourceGen element, all the elements in linear &#xD;&#xA;&#x9;&#x9;order comprise the component's contributions.  &#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;Conditional sourcegen is implemented by using the &quot;form&quot; attribute on &#xD;&#xA;&#x9;&#x9;templates or templateGroups, or explicitly checking the regex &quot;form&quot; in inline code.  &#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;Another form of conditional sourcegen is event handling code.  The &quot;ifEvents&quot; attribute completely filters out defineLocation/template elements if a given event is not bound to an instance.&#xD;&#xA;&#x9;&#x9;"/>
       
  1912       </eAnnotations>
       
  1913       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1914         <details key="kind" value="element"/>
       
  1915         <details key="name" value="sourceGen"/>
       
  1916         <details key="namespace" value="##targetNamespace"/>
       
  1917       </eAnnotations>
       
  1918     </eStructuralFeatures>
       
  1919     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceMapping" upperBound="-2"
       
  1920         eType="#//SourceMappingType" volatile="true" transient="true" derived="true"
       
  1921         containment="true" resolveProxies="false">
       
  1922       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1923         <details key="documentation" value="&#xD;&#xA;The sourceMapping element defines a particular style of source generation&#xD;&#xA;which consists of automatic generation of source by structurally&#xD;&#xA;mapping a component instance to a source definition.  &#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1924       </eAnnotations>
       
  1925       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1926         <details key="kind" value="element"/>
       
  1927         <details key="name" value="sourceMapping"/>
       
  1928         <details key="namespace" value="##targetNamespace"/>
       
  1929       </eAnnotations>
       
  1930     </eStructuralFeatures>
       
  1931     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceTypeMapping" upperBound="-2"
       
  1932         eType="#//SourceTypeMappingType" volatile="true" transient="true" derived="true"
       
  1933         containment="true" resolveProxies="false">
       
  1934       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1935         <details key="documentation" value="&#xD;&#xA;The sourceTypeMapping element mirrors sourceMapping but provides stored source&#xD;&#xA;mapping data for use by compound or enum types.  &#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1936       </eAnnotations>
       
  1937       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1938         <details key="kind" value="element"/>
       
  1939         <details key="name" value="sourceTypeMapping"/>
       
  1940         <details key="namespace" value="##targetNamespace"/>
       
  1941       </eAnnotations>
       
  1942     </eStructuralFeatures>
       
  1943     <eStructuralFeatures xsi:type="ecore:EReference" name="symbian" upperBound="-2"
       
  1944         eType="#//SymbianType" volatile="true" transient="true" derived="true" containment="true"
       
  1945         resolveProxies="false">
       
  1946       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1947         <details key="documentation" value="The optional Symbian element provides SDK compatibility information and information about the related &#xD;&#xA;&#x9;C++ classes and resource structures. When this element is omitted the component will be considered incompatible&#xD;&#xA;&#x9;with all Symbian SDKs.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  1948       </eAnnotations>
       
  1949       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1950         <details key="kind" value="element"/>
       
  1951         <details key="name" value="symbian"/>
       
  1952         <details key="namespace" value="##targetNamespace"/>
       
  1953       </eAnnotations>
       
  1954     </eStructuralFeatures>
       
  1955     <eStructuralFeatures xsi:type="ecore:EReference" name="template" upperBound="-2"
       
  1956         eType="#//TemplateType" volatile="true" transient="true" derived="true" containment="true"
       
  1957         resolveProxies="false">
       
  1958       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1959         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a contribution.  The text element is template-expanded &#xD;&#xA;&#x9;&#x9;with ${ ... } expression escapes and may contain Javascript in &amp;lt;% ... %&amp;gt; sections.&#xD;&#xA;&#x9;&#x9;"/>
       
  1960       </eAnnotations>
       
  1961       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1962         <details key="kind" value="element"/>
       
  1963         <details key="name" value="template"/>
       
  1964         <details key="namespace" value="##targetNamespace"/>
       
  1965       </eAnnotations>
       
  1966     </eStructuralFeatures>
       
  1967     <eStructuralFeatures xsi:type="ecore:EReference" name="templateGroup" upperBound="-2"
       
  1968         eType="#//TemplateGroupType" volatile="true" transient="true" derived="true"
       
  1969         containment="true" resolveProxies="false">
       
  1970       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1971         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;A logical grouping of templates and locations.  Attributes&#xD;&#xA;&#x9;&#x9;present on the group are automatically applied to children.&#xD;&#xA;&#x9;&#x9;Groups may not be nested.&#xD;&#xA;&#x9;&#x9;"/>
       
  1972       </eAnnotations>
       
  1973       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1974         <details key="kind" value="element"/>
       
  1975         <details key="name" value="templateGroup"/>
       
  1976         <details key="namespace" value="##targetNamespace"/>
       
  1977       </eAnnotations>
       
  1978     </eStructuralFeatures>
       
  1979     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplate" upperBound="-2"
       
  1980         eType="#//UseTemplateType" volatile="true" transient="true" derived="true"
       
  1981         containment="true" resolveProxies="false">
       
  1982       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1983         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template from the base by id.&#xD;&#xA;&#x9;&#x9;"/>
       
  1984       </eAnnotations>
       
  1985       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1986         <details key="kind" value="element"/>
       
  1987         <details key="name" value="useTemplate"/>
       
  1988         <details key="namespace" value="##targetNamespace"/>
       
  1989       </eAnnotations>
       
  1990     </eStructuralFeatures>
       
  1991     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplateGroup" upperBound="-2"
       
  1992         eType="#//UseTemplateGroupType" volatile="true" transient="true" derived="true"
       
  1993         containment="true" resolveProxies="false">
       
  1994       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  1995         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template group from the base by id.&#xD;&#xA;&#x9;&#x9;If no subelements are specified, all the named templates (those with ids)&#xD;&#xA;&#x9;&#x9;are inherited.  No templates without ids are inherited.&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;If subelements are specified, these describe the specific templates&#xD;&#xA;&#x9;&#x9;to inherit from the group.  The id &quot;*&quot; may be used to bring in all&#xD;&#xA;&#x9;&#x9;named templates.&#xD;&#xA;&#x9;&#x9;"/>
       
  1996       </eAnnotations>
       
  1997       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  1998         <details key="kind" value="element"/>
       
  1999         <details key="name" value="useTemplateGroup"/>
       
  2000         <details key="namespace" value="##targetNamespace"/>
       
  2001       </eAnnotations>
       
  2002     </eStructuralFeatures>
       
  2003   </eClassifiers>
       
  2004   <eClassifiers xsi:type="ecore:EClass" name="EnumElementType">
       
  2005     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2006       <details key="name" value="enumElement_._type"/>
       
  2007       <details key="kind" value="empty"/>
       
  2008     </eAnnotations>
       
  2009     <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayValue" unique="false"
       
  2010         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnySimpleType">
       
  2011       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2012         <details key="documentation" value="The displayable value, which should be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2013       </eAnnotations>
       
  2014       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2015         <details key="kind" value="attribute"/>
       
  2016         <details key="name" value="displayValue"/>
       
  2017       </eAnnotations>
       
  2018     </eStructuralFeatures>
       
  2019     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
       
  2020         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnySimpleType">
       
  2021       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2022         <details key="documentation" value="The internal value, which is not localizable.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2023       </eAnnotations>
       
  2024       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2025         <details key="kind" value="attribute"/>
       
  2026         <details key="name" value="value"/>
       
  2027       </eAnnotations>
       
  2028     </eStructuralFeatures>
       
  2029   </eClassifiers>
       
  2030   <eClassifiers xsi:type="ecore:EClass" name="EnumPropertyDeclarationType">
       
  2031     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2032       <details key="name" value="enumPropertyDeclaration_._type"/>
       
  2033       <details key="kind" value="elementOnly"/>
       
  2034     </eAnnotations>
       
  2035     <eStructuralFeatures xsi:type="ecore:EReference" name="enumElement" lowerBound="1"
       
  2036         upperBound="-1" eType="#//EnumElementType" containment="true" resolveProxies="false">
       
  2037       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2038         <details key="documentation" value="This sequence is the list of values comprising the enumerated type. Each&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;value consists of an internal string value and a displayable string value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2039       </eAnnotations>
       
  2040       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2041         <details key="kind" value="element"/>
       
  2042         <details key="name" value="enumElement"/>
       
  2043         <details key="namespace" value="##targetNamespace"/>
       
  2044       </eAnnotations>
       
  2045     </eStructuralFeatures>
       
  2046     <eStructuralFeatures xsi:type="ecore:EReference" name="sourceTypeMapping" eType="#//SourceTypeMappingType"
       
  2047         containment="true" resolveProxies="false">
       
  2048       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2049         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This element provides source mapping for the type, for use by&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;map*FromType elements.  Added post 1.2&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2050       </eAnnotations>
       
  2051       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2052         <details key="kind" value="element"/>
       
  2053         <details key="name" value="sourceTypeMapping"/>
       
  2054         <details key="namespace" value="##targetNamespace"/>
       
  2055       </eAnnotations>
       
  2056     </eStructuralFeatures>
       
  2057     <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" unique="false"
       
  2058         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2059       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2060         <details key="documentation" value="A default internal value for the enumeration. It can be overriden in property declarations.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2061       </eAnnotations>
       
  2062       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2063         <details key="kind" value="attribute"/>
       
  2064         <details key="name" value="defaultValue"/>
       
  2065       </eAnnotations>
       
  2066     </eStructuralFeatures>
       
  2067     <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" unique="false"
       
  2068         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2069       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2070         <details key="documentation" value="The globally unique name for this type. By convention this is a dotted name, e.g. com.example.MyEnumType.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;This value is used in enumPropertyDeclaration.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2071       </eAnnotations>
       
  2072       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2073         <details key="kind" value="attribute"/>
       
  2074         <details key="name" value="qualifiedName"/>
       
  2075       </eAnnotations>
       
  2076     </eStructuralFeatures>
       
  2077   </eClassifiers>
       
  2078   <eClassifiers xsi:type="ecore:EClass" name="EnumPropertyType" eSuperTypes="#//AbstractPropertyType">
       
  2079     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2080       <details key="documentation" value="Concrete type used for enumerated value properties.&#xD;&#xA;&#x9;&#x9;"/>
       
  2081     </eAnnotations>
       
  2082     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2083       <details key="name" value="enumPropertyType"/>
       
  2084       <details key="kind" value="empty"/>
       
  2085     </eAnnotations>
       
  2086     <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
       
  2087         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2088       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2089         <details key="documentation" value="The default enumerated value, in case it needs to be different from &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the default declared in the enumeratedPropertyDeclaration.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2090       </eAnnotations>
       
  2091       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2092         <details key="kind" value="attribute"/>
       
  2093         <details key="name" value="default"/>
       
  2094       </eAnnotations>
       
  2095     </eStructuralFeatures>
       
  2096     <eStructuralFeatures xsi:type="ecore:EAttribute" name="extendWithEnum" unique="false"
       
  2097         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2098       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2099         <details key="documentation" value="Optional extension of the simple values with the enums provided by an enimPropertyDeclaration.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If the value of the property matches any in an enumProperty's 'value' attribute, the 'displayValue' will be shown&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;as the current value in the property sheet.  Additionally, the editor for the value (if not overridden with&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;a custom editorClass) will be a combo that allows typing in the literal value or selecting one of the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;union of base and extended enums.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;> &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The extending enum may provide 'value' elements which are different from the base enum (even integers, say),&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;if appropriate.  These values are exposed to script, source mapping, and source gen, so ensure that all&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;those clients are prepared to deal with the extra values.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2100       </eAnnotations>
       
  2101       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2102         <details key="kind" value="attribute"/>
       
  2103         <details key="name" value="extendWithEnum"/>
       
  2104       </eAnnotations>
       
  2105     </eStructuralFeatures>
       
  2106     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
       
  2107         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2108       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2109         <details key="documentation" value="The fully qualifed name of the enumerated property type. See&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;enumPropertyDeclaration.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2110       </eAnnotations>
       
  2111       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2112         <details key="kind" value="attribute"/>
       
  2113         <details key="name" value="type"/>
       
  2114       </eAnnotations>
       
  2115     </eStructuralFeatures>
       
  2116   </eClassifiers>
       
  2117   <eClassifiers xsi:type="ecore:EClass" name="EventsType">
       
  2118     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2119       <details key="name" value="events_._type"/>
       
  2120       <details key="kind" value="elementOnly"/>
       
  2121     </eAnnotations>
       
  2122     <eStructuralFeatures xsi:type="ecore:EReference" name="event" upperBound="-1"
       
  2123         eType="#//EventType" containment="true" resolveProxies="false">
       
  2124       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2125         <details key="documentation" value="The definition of a single event.&#xD;&#xA;&#x9;&#x9;"/>
       
  2126       </eAnnotations>
       
  2127       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2128         <details key="kind" value="element"/>
       
  2129         <details key="name" value="event"/>
       
  2130         <details key="namespace" value="##targetNamespace"/>
       
  2131       </eAnnotations>
       
  2132     </eStructuralFeatures>
       
  2133     <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultEventName" unique="false"
       
  2134         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2135       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2136         <details key="documentation" value="If defined, the default event will be identified in a component instance's context&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;menu. In the case of inheritance the most derived definition of the default event is used.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2137       </eAnnotations>
       
  2138       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2139         <details key="kind" value="attribute"/>
       
  2140         <details key="name" value="defaultEventName"/>
       
  2141       </eAnnotations>
       
  2142     </eStructuralFeatures>
       
  2143   </eClassifiers>
       
  2144   <eClassifiers xsi:type="ecore:EClass" name="EventType">
       
  2145     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2146       <details key="name" value="event_._type"/>
       
  2147       <details key="kind" value="empty"/>
       
  2148     </eAnnotations>
       
  2149     <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" unique="false"
       
  2150         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2151       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2152         <details key="documentation" value="Categories are used for grouping events in the Events view. As with property categories,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;this can be a key to a category localized by the component provider, or it can be a pre-localized or literal string.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2153       </eAnnotations>
       
  2154       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2155         <details key="kind" value="attribute"/>
       
  2156         <details key="name" value="category"/>
       
  2157       </eAnnotations>
       
  2158     </eStructuralFeatures>
       
  2159     <eStructuralFeatures xsi:type="ecore:EAttribute" name="descriptionKey" unique="false"
       
  2160         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2161       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2162         <details key="documentation" value="A key for descriptive information about the event.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2163       </eAnnotations>
       
  2164       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2165         <details key="kind" value="attribute"/>
       
  2166         <details key="name" value="descriptionKey"/>
       
  2167       </eAnnotations>
       
  2168     </eStructuralFeatures>
       
  2169     <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" unique="false"
       
  2170         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2171       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2172         <details key="documentation" value="This displayable name for the event. This value should be localized.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2173       </eAnnotations>
       
  2174       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2175         <details key="kind" value="attribute"/>
       
  2176         <details key="name" value="displayName"/>
       
  2177       </eAnnotations>
       
  2178     </eStructuralFeatures>
       
  2179     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2180       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2181         <details key="documentation" value="This is a grouping, separate from categories, used in event filtering. Events&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;may only make sense for specific containers. The interface com.nokia.sdt.datamodel.adapter.IComponentEventInfo is&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;used to filter applicable events from the complete set of declared events. When deriving from an existing base&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;component it is not generally necessary to implement this interface. Instead, just use the groups defined by&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;the base component in your own events. For example to make events visible in a CCoeControl container, The CCoeControlBase&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;component uses the filter group &quot;Control&quot;. &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2182       </eAnnotations>
       
  2183       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2184         <details key="kind" value="attribute"/>
       
  2185         <details key="name" value="group"/>
       
  2186       </eAnnotations>
       
  2187     </eStructuralFeatures>
       
  2188     <eStructuralFeatures xsi:type="ecore:EAttribute" name="handlerNameTemplate" unique="false"
       
  2189         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2190       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2191         <details key="documentation" value="A template which is expanded to the proposed default name for the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;event handler function. An example of such a template is &quot;Handle{title(name)}StateChangedL&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The {} marks template variables. A variable may contain a simple property value, but generally only the 'name' property&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;should be used. The pseudo-functions &quot;lower&quot;, &quot;upper&quot;, and &quot;title&quot; may be used to transform the property value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2192       </eAnnotations>
       
  2193       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2194         <details key="kind" value="attribute"/>
       
  2195         <details key="name" value="handlerNameTemplate"/>
       
  2196       </eAnnotations>
       
  2197     </eStructuralFeatures>
       
  2198     <eStructuralFeatures xsi:type="ecore:EAttribute" name="helpKey" unique="false"
       
  2199         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2200       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2201         <details key="documentation" value="A help topic for online help for the event.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2202       </eAnnotations>
       
  2203       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2204         <details key="kind" value="attribute"/>
       
  2205         <details key="name" value="helpKey"/>
       
  2206       </eAnnotations>
       
  2207     </eStructuralFeatures>
       
  2208     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
  2209         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2210       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2211         <details key="documentation" value="The internal name for the event. This does not need to be a dotted name, but it must&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;be unique within the component and its base components.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2212       </eAnnotations>
       
  2213       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2214         <details key="kind" value="attribute"/>
       
  2215         <details key="name" value="name"/>
       
  2216       </eAnnotations>
       
  2217     </eStructuralFeatures>
       
  2218   </eClassifiers>
       
  2219   <eClassifiers xsi:type="ecore:EClass" name="ExpandArgumentType">
       
  2220     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2221       <details key="name" value="expandArgument_._type"/>
       
  2222       <details key="kind" value="simple"/>
       
  2223     </eAnnotations>
       
  2224     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2225       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2226         <details key="name" value=":0"/>
       
  2227         <details key="kind" value="simple"/>
       
  2228       </eAnnotations>
       
  2229     </eStructuralFeatures>
       
  2230     <eStructuralFeatures xsi:type="ecore:EAttribute" name="help" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2231       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2232         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Help/usage text for a documentation generating tool.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2233       </eAnnotations>
       
  2234       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2235         <details key="kind" value="attribute"/>
       
  2236         <details key="name" value="help"/>
       
  2237       </eAnnotations>
       
  2238     </eStructuralFeatures>
       
  2239     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
  2240         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2241       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2242         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The variable to define (matching the id from macroArgument).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2243       </eAnnotations>
       
  2244       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2245         <details key="kind" value="attribute"/>
       
  2246         <details key="name" value="name"/>
       
  2247       </eAnnotations>
       
  2248     </eStructuralFeatures>
       
  2249   </eClassifiers>
       
  2250   <eClassifiers xsi:type="ecore:EClass" name="ExpandMacroType" eSuperTypes="#//ConditionalSourceGen">
       
  2251     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2252       <details key="name" value="expandMacro_._type"/>
       
  2253       <details key="kind" value="elementOnly"/>
       
  2254     </eAnnotations>
       
  2255     <eStructuralFeatures xsi:type="ecore:EReference" name="expandArgument" upperBound="-1"
       
  2256         eType="#//ExpandArgumentType" containment="true" resolveProxies="false">
       
  2257       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2258         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;Provides multiline text content for an argument.&#xD;&#xA;&#x9;&#x9;This is semantically identical to setting an attribute of the same&#xD;&#xA;&#x9;&#x9;name=&quot;...&quot; value in the expandMacro element, with any standalone &#xD;&#xA;&#x9;&#x9;leading whitespace and standalone trailing whitespace removed&#xD;&#xA;&#x9;&#x9;(as with &amp;lt;template&amp;gt;).&#xD;&#xA;&#x9;&#x9;"/>
       
  2259       </eAnnotations>
       
  2260       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2261         <details key="kind" value="element"/>
       
  2262         <details key="name" value="expandArgument"/>
       
  2263         <details key="namespace" value="##targetNamespace"/>
       
  2264       </eAnnotations>
       
  2265     </eStructuralFeatures>
       
  2266     <eStructuralFeatures xsi:type="ecore:EAttribute" name="dontPassArguments" unique="false"
       
  2267         eType="#//ListOfStrings">
       
  2268       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2269         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This is primarily used when passArguments is not specified.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;It specifies which arguments not to pass to the invoked macro,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;which become undefined in the expansion of that macro.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This is useful when this macro takes over the work of one or more&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;arguments from the invoked macro. &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2270       </eAnnotations>
       
  2271       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2272         <details key="kind" value="attribute"/>
       
  2273         <details key="name" value="dontPassArguments"/>
       
  2274       </eAnnotations>
       
  2275     </eStructuralFeatures>
       
  2276     <eStructuralFeatures xsi:type="ecore:EAttribute" name="help" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2277       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2278         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Help/usage text for a documentation generating tool.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2279       </eAnnotations>
       
  2280       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2281         <details key="kind" value="attribute"/>
       
  2282         <details key="name" value="help"/>
       
  2283       </eAnnotations>
       
  2284     </eStructuralFeatures>
       
  2285     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
  2286         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2287       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2288         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The macro to invoke (matching the id from defineMacro).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2289       </eAnnotations>
       
  2290       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2291         <details key="kind" value="attribute"/>
       
  2292         <details key="name" value="name"/>
       
  2293       </eAnnotations>
       
  2294     </eStructuralFeatures>
       
  2295     <eStructuralFeatures xsi:type="ecore:EAttribute" name="passArguments" unique="false"
       
  2296         eType="#//ListOfStrings">
       
  2297       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2298         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;A list of arguments defined in the current calling macro to&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;pass unchanged to the called macro, excluding any arguments&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;that are not defined in the current call.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This attribute is only valid in expandMacro called from&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;a defineMacro.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Passing arguments is different from adding attributes&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;argName=&quot;$(argName)&quot; because it avoids defining otherwise &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;undefined arguments.  (A missing optional argument is null,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;not the empty string.  The '::is-defined' modifier can be&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;used to check this.)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Elements in the list of strings are names of arguments, or&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;renames of the form targetArgumentName=hostArgumentName which&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;passes hostArgumentName from the hosting macro with the name&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;targetArgumentName (again, only if the argument is actually&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;defined in the call).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;If this argument is not specified, all the arguments in the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;invoked macro are passed (zero or more may have defaults which&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;are overridden in this macro). &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2299       </eAnnotations>
       
  2300       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2301         <details key="kind" value="attribute"/>
       
  2302         <details key="name" value="passArguments"/>
       
  2303       </eAnnotations>
       
  2304     </eStructuralFeatures>
       
  2305     <eStructuralFeatures xsi:type="ecore:EAttribute" name="anyAttribute" unique="false"
       
  2306         upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  2307       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2308         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Any attribute matching the variables used in the given named macro may appear here.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2309       </eAnnotations>
       
  2310       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2311         <details key="kind" value="attributeWildcard"/>
       
  2312         <details key="wildcards" value="##any"/>
       
  2313         <details key="name" value=":8"/>
       
  2314         <details key="processing" value="lax"/>
       
  2315       </eAnnotations>
       
  2316     </eStructuralFeatures>
       
  2317   </eClassifiers>
       
  2318   <eClassifiers xsi:type="ecore:EClass" name="ExtensionPropertiesType">
       
  2319     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2320       <details key="name" value="extensionProperties_._type"/>
       
  2321       <details key="kind" value="elementOnly"/>
       
  2322     </eAnnotations>
       
  2323     <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstractPropertyGroup"
       
  2324         unique="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  2325       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2326         <details key="kind" value="group"/>
       
  2327         <details key="name" value="abstractProperty:group"/>
       
  2328         <details key="namespace" value="##targetNamespace"/>
       
  2329       </eAnnotations>
       
  2330     </eStructuralFeatures>
       
  2331     <eStructuralFeatures xsi:type="ecore:EReference" name="abstractProperty" upperBound="-1"
       
  2332         eType="#//AbstractPropertyType" changeable="false" volatile="true" transient="true"
       
  2333         derived="true" containment="true" resolveProxies="false">
       
  2334       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2335         <details key="kind" value="element"/>
       
  2336         <details key="name" value="abstractProperty"/>
       
  2337         <details key="namespace" value="##targetNamespace"/>
       
  2338         <details key="group" value="abstractProperty:group"/>
       
  2339       </eAnnotations>
       
  2340     </eStructuralFeatures>
       
  2341     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
  2342         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2343       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2344         <details key="documentation" value="The unique name of this extension property set. Used to select properties&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;to add at runtime.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2345       </eAnnotations>
       
  2346       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2347         <details key="kind" value="attribute"/>
       
  2348         <details key="name" value="name"/>
       
  2349       </eAnnotations>
       
  2350     </eStructuralFeatures>
       
  2351   </eClassifiers>
       
  2352   <eClassifiers xsi:type="ecore:EClass" name="ImplementationsType">
       
  2353     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2354       <details key="name" value="implementations_._type"/>
       
  2355       <details key="kind" value="elementOnly"/>
       
  2356     </eAnnotations>
       
  2357     <eStructuralFeatures xsi:type="ecore:EReference" name="implementation" lowerBound="1"
       
  2358         upperBound="-1" eType="#//ImplementationType" containment="true" resolveProxies="false">
       
  2359       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2360         <details key="kind" value="element"/>
       
  2361         <details key="name" value="implementation"/>
       
  2362         <details key="namespace" value="##targetNamespace"/>
       
  2363       </eAnnotations>
       
  2364     </eStructuralFeatures>
       
  2365   </eClassifiers>
       
  2366   <eClassifiers xsi:type="ecore:EClass" name="ImplementationType">
       
  2367     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2368       <details key="name" value="implementation_._type"/>
       
  2369       <details key="kind" value="elementOnly"/>
       
  2370     </eAnnotations>
       
  2371     <eStructuralFeatures xsi:type="ecore:EReference" name="interface" lowerBound="1"
       
  2372         upperBound="-1" eType="#//InterfaceType" containment="true" resolveProxies="false">
       
  2373       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2374         <details key="kind" value="element"/>
       
  2375         <details key="name" value="interface"/>
       
  2376         <details key="namespace" value="##targetNamespace"/>
       
  2377       </eAnnotations>
       
  2378     </eStructuralFeatures>
       
  2379     <eStructuralFeatures xsi:type="ecore:EReference" name="code" eType="#//CodeType"
       
  2380         containment="true" resolveProxies="false">
       
  2381       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2382         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Define a reference to an interface implemented in Java.&#xD;&#xA;&#x9;&#x9;"/>
       
  2383       </eAnnotations>
       
  2384       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2385         <details key="kind" value="element"/>
       
  2386         <details key="name" value="code"/>
       
  2387         <details key="namespace" value="##targetNamespace"/>
       
  2388       </eAnnotations>
       
  2389     </eStructuralFeatures>
       
  2390     <eStructuralFeatures xsi:type="ecore:EReference" name="script" eType="#//ScriptType"
       
  2391         containment="true" resolveProxies="false">
       
  2392       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2393         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Define a reference to an interface implemented in Javascript.&#xD;&#xA;&#x9;&#x9;"/>
       
  2394       </eAnnotations>
       
  2395       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2396         <details key="kind" value="element"/>
       
  2397         <details key="name" value="script"/>
       
  2398         <details key="namespace" value="##targetNamespace"/>
       
  2399       </eAnnotations>
       
  2400     </eStructuralFeatures>
       
  2401   </eClassifiers>
       
  2402   <eClassifiers xsi:type="ecore:EClass" name="ImportArgumentsType">
       
  2403     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2404       <details key="name" value="importArguments_._type"/>
       
  2405       <details key="kind" value="empty"/>
       
  2406     </eAnnotations>
       
  2407     <eStructuralFeatures xsi:type="ecore:EAttribute" name="arguments" unique="false"
       
  2408         lowerBound="1" eType="#//ListOfStrings">
       
  2409       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2410         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The list of argument names to import.  This is mutually exclusive with 'exceptArguments'.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2411       </eAnnotations>
       
  2412       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2413         <details key="kind" value="attribute"/>
       
  2414         <details key="name" value="arguments"/>
       
  2415       </eAnnotations>
       
  2416     </eStructuralFeatures>
       
  2417     <eStructuralFeatures xsi:type="ecore:EAttribute" name="exceptArguments" unique="false"
       
  2418         lowerBound="1" eType="#//ListOfStrings">
       
  2419       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2420         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The list of argument names NOT to import.  All the arguments are imported&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;except these.  This is mutually exclusive with 'arguments'.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2421       </eAnnotations>
       
  2422       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2423         <details key="kind" value="attribute"/>
       
  2424         <details key="name" value="exceptArguments"/>
       
  2425       </eAnnotations>
       
  2426     </eStructuralFeatures>
       
  2427     <eStructuralFeatures xsi:type="ecore:EAttribute" name="help" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2428       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2429         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Help/usage text for a documentation generating tool.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2430       </eAnnotations>
       
  2431       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2432         <details key="kind" value="attribute"/>
       
  2433         <details key="name" value="help"/>
       
  2434       </eAnnotations>
       
  2435     </eStructuralFeatures>
       
  2436     <eStructuralFeatures xsi:type="ecore:EAttribute" name="macroName" unique="false"
       
  2437         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2438       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2439         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The macro whose arguments to import.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2440       </eAnnotations>
       
  2441       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2442         <details key="kind" value="attribute"/>
       
  2443         <details key="name" value="macroName"/>
       
  2444       </eAnnotations>
       
  2445     </eStructuralFeatures>
       
  2446   </eClassifiers>
       
  2447   <eClassifiers xsi:type="ecore:EClass" name="InlineType" eSuperTypes="#//ConditionalSourceGenString">
       
  2448     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2449       <details key="name" value="inline_._type"/>
       
  2450       <details key="kind" value="simple"/>
       
  2451     </eAnnotations>
       
  2452     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2453       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2454         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Added post 1.1: the identifier for the inline section,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;which makes it inheritable.  Inline sections are inherited as templates,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;accessible with &quot;useTemplate&quot; of the same id.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;If unspecified, a default id is assigned.  Use a blank id to avoid inheriting.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2455       </eAnnotations>
       
  2456       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2457         <details key="kind" value="attribute"/>
       
  2458         <details key="name" value="id"/>
       
  2459       </eAnnotations>
       
  2460     </eStructuralFeatures>
       
  2461     <eStructuralFeatures xsi:type="ecore:EAttribute" name="scope" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
       
  2462         defaultValueLiteral="function" unsettable="true">
       
  2463       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2464         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Tells where the inline code appears.  By default, it appears&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;in the primary function into which templates are generated, thus is&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;executed in line with them.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Specifying &quot;file&quot; or &quot;prototype&quot; means the content is intended to modify the &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Javascript prototype, thus it is placed at the top level of the file.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;${jsObject}.prototype may be used to access the prototype.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Note: include() and includeFrom() calls should be placed in the prototype scope,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;or their contents will not be visible to derived components.&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Added post 1.1: &quot;file&quot; is a synonym for &quot;prototype&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2465       </eAnnotations>
       
  2466       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2467         <details key="kind" value="attribute"/>
       
  2468         <details key="name" value="scope"/>
       
  2469       </eAnnotations>
       
  2470     </eStructuralFeatures>
       
  2471   </eClassifiers>
       
  2472   <eClassifiers xsi:type="ecore:EClass" name="InterfaceType">
       
  2473     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2474       <details key="name" value="interface_._type"/>
       
  2475       <details key="kind" value="empty"/>
       
  2476     </eAnnotations>
       
  2477     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" lowerBound="1"
       
  2478         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2479       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2480         <details key="kind" value="attribute"/>
       
  2481         <details key="name" value="id"/>
       
  2482       </eAnnotations>
       
  2483     </eStructuralFeatures>
       
  2484   </eClassifiers>
       
  2485   <eClassifiers xsi:type="ecore:EDataType" name="ListOfStrings" instanceClassName="java.util.List">
       
  2486     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2487       <details key="name" value="listOfStrings"/>
       
  2488       <details key="itemType" value="http://www.eclipse.org/emf/2003/XMLType#string"/>
       
  2489     </eAnnotations>
       
  2490   </eClassifiers>
       
  2491   <eClassifiers xsi:type="ecore:EClass" name="MacroArgumentType">
       
  2492     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2493       <details key="name" value="macroArgument_._type"/>
       
  2494       <details key="kind" value="simple"/>
       
  2495     </eAnnotations>
       
  2496     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2497       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2498         <details key="name" value=":0"/>
       
  2499         <details key="kind" value="simple"/>
       
  2500       </eAnnotations>
       
  2501     </eStructuralFeatures>
       
  2502     <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
       
  2503         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2504       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2505         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The default value of the argument if unspecified.  Alternately, the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;text of this element may be supplied as the default, if formatting&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;or newlines are used.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2506       </eAnnotations>
       
  2507       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2508         <details key="kind" value="attribute"/>
       
  2509         <details key="name" value="default"/>
       
  2510       </eAnnotations>
       
  2511     </eStructuralFeatures>
       
  2512     <eStructuralFeatures xsi:type="ecore:EAttribute" name="help" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2513       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2514         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Help/usage text for a documentation generating tool.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2515       </eAnnotations>
       
  2516       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2517         <details key="kind" value="attribute"/>
       
  2518         <details key="name" value="help"/>
       
  2519       </eAnnotations>
       
  2520     </eStructuralFeatures>
       
  2521     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
  2522         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2523       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2524         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The name of the argument.  This must be a legal Javascript identifier&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;and unique within the macro.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2525       </eAnnotations>
       
  2526       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2527         <details key="kind" value="attribute"/>
       
  2528         <details key="name" value="name"/>
       
  2529       </eAnnotations>
       
  2530     </eStructuralFeatures>
       
  2531     <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" unique="false"
       
  2532         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2533         unsettable="true">
       
  2534       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2535         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Tells whether the argument may be omitted from an expandMacro use.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;If true, and no default is provided, the variable's value is null.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2536       </eAnnotations>
       
  2537       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2538         <details key="kind" value="attribute"/>
       
  2539         <details key="name" value="optional"/>
       
  2540       </eAnnotations>
       
  2541     </eStructuralFeatures>
       
  2542   </eClassifiers>
       
  2543   <eClassifiers xsi:type="ecore:EClass" name="MapArrayMemberType" eSuperTypes="#//MappingArrayType">
       
  2544     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2545       <details key="name" value="mapArrayMember_._type"/>
       
  2546       <details key="kind" value="elementOnly"/>
       
  2547     </eAnnotations>
       
  2548     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2549         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2550       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2551         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2552       </eAnnotations>
       
  2553       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2554         <details key="kind" value="attribute"/>
       
  2555         <details key="name" value="member"/>
       
  2556       </eAnnotations>
       
  2557     </eStructuralFeatures>
       
  2558     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2559         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2560       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2561         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2562       </eAnnotations>
       
  2563       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2564         <details key="kind" value="attribute"/>
       
  2565         <details key="name" value="property"/>
       
  2566       </eAnnotations>
       
  2567     </eStructuralFeatures>
       
  2568     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  2569         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2570         defaultValueLiteral="true" unsettable="true">
       
  2571       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2572         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2573       </eAnnotations>
       
  2574       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2575         <details key="kind" value="attribute"/>
       
  2576         <details key="name" value="suppressDefault"/>
       
  2577       </eAnnotations>
       
  2578     </eStructuralFeatures>
       
  2579   </eClassifiers>
       
  2580   <eClassifiers xsi:type="ecore:EClass" name="MapArrayTypeType" eSuperTypes="#//MappingArrayType">
       
  2581     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2582       <details key="name" value="mapArrayType_._type"/>
       
  2583       <details key="kind" value="elementOnly"/>
       
  2584     </eAnnotations>
       
  2585     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2586         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2587       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2588         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2589       </eAnnotations>
       
  2590       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2591         <details key="kind" value="attribute"/>
       
  2592         <details key="name" value="typeId"/>
       
  2593       </eAnnotations>
       
  2594     </eStructuralFeatures>
       
  2595   </eClassifiers>
       
  2596   <eClassifiers xsi:type="ecore:EClass" name="MapBitmaskElementType" eSuperTypes="#//MappingBitmaskType">
       
  2597     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2598       <details key="name" value="mapBitmaskElement_._type"/>
       
  2599       <details key="kind" value="elementOnly"/>
       
  2600     </eAnnotations>
       
  2601   </eClassifiers>
       
  2602   <eClassifiers xsi:type="ecore:EClass" name="MapBitmaskMemberType" eSuperTypes="#//MappingBitmaskType">
       
  2603     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2604       <details key="name" value="mapBitmaskMember_._type"/>
       
  2605       <details key="kind" value="elementOnly"/>
       
  2606     </eAnnotations>
       
  2607     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2608         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2609       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2610         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2611       </eAnnotations>
       
  2612       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2613         <details key="kind" value="attribute"/>
       
  2614         <details key="name" value="member"/>
       
  2615       </eAnnotations>
       
  2616     </eStructuralFeatures>
       
  2617     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2618         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2619       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2620         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2621       </eAnnotations>
       
  2622       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2623         <details key="kind" value="attribute"/>
       
  2624         <details key="name" value="property"/>
       
  2625       </eAnnotations>
       
  2626     </eStructuralFeatures>
       
  2627     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  2628         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2629         defaultValueLiteral="true" unsettable="true">
       
  2630       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2631         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2632       </eAnnotations>
       
  2633       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2634         <details key="kind" value="attribute"/>
       
  2635         <details key="name" value="suppressDefault"/>
       
  2636       </eAnnotations>
       
  2637     </eStructuralFeatures>
       
  2638   </eClassifiers>
       
  2639   <eClassifiers xsi:type="ecore:EClass" name="MapBitmaskTypeType" eSuperTypes="#//MappingBitmaskType">
       
  2640     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2641       <details key="name" value="mapBitmaskType_._type"/>
       
  2642       <details key="kind" value="elementOnly"/>
       
  2643     </eAnnotations>
       
  2644     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2645         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2646       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2647         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2648       </eAnnotations>
       
  2649       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2650         <details key="kind" value="attribute"/>
       
  2651         <details key="name" value="typeId"/>
       
  2652       </eAnnotations>
       
  2653     </eStructuralFeatures>
       
  2654   </eClassifiers>
       
  2655   <eClassifiers xsi:type="ecore:EClass" name="MapBitmaskValueType">
       
  2656     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2657       <details key="name" value="mapBitmaskValue_._type"/>
       
  2658       <details key="kind" value="empty"/>
       
  2659     </eAnnotations>
       
  2660     <eStructuralFeatures xsi:type="ecore:EAttribute" name="properties" unique="false"
       
  2661         lowerBound="1" eType="#//ListOfStrings">
       
  2662       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2663         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;List of properties to consider.  May be property paths.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2664       </eAnnotations>
       
  2665       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2666         <details key="kind" value="attribute"/>
       
  2667         <details key="name" value="properties"/>
       
  2668       </eAnnotations>
       
  2669     </eStructuralFeatures>
       
  2670     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
       
  2671         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2672       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2673         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Value to OR into the target expression.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2674       </eAnnotations>
       
  2675       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2676         <details key="kind" value="attribute"/>
       
  2677         <details key="name" value="value"/>
       
  2678       </eAnnotations>
       
  2679     </eStructuralFeatures>
       
  2680   </eClassifiers>
       
  2681   <eClassifiers xsi:type="ecore:EClass" name="MapElementFromTypeType" eSuperTypes="#//TwoWayMappingType">
       
  2682     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2683       <details key="name" value="mapElementFromType_._type"/>
       
  2684       <details key="kind" value="empty"/>
       
  2685     </eAnnotations>
       
  2686     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2687         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2688       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2689         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This attribute tells which of a set of type mappings to use&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;from the given type (as named in the id=&quot;...&quot; attributes on&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the mapXXXType children of sourceTypeMapping).   &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2690       </eAnnotations>
       
  2691       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2692         <details key="kind" value="attribute"/>
       
  2693         <details key="name" value="typeId"/>
       
  2694       </eAnnotations>
       
  2695     </eStructuralFeatures>
       
  2696   </eClassifiers>
       
  2697   <eClassifiers xsi:type="ecore:EClass" name="MapEnumElementType" eSuperTypes="#//MappingEnumType">
       
  2698     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2699       <details key="name" value="mapEnumElement_._type"/>
       
  2700       <details key="kind" value="elementOnly"/>
       
  2701     </eAnnotations>
       
  2702   </eClassifiers>
       
  2703   <eClassifiers xsi:type="ecore:EClass" name="MapEnumMemberType" eSuperTypes="#//MappingEnumType">
       
  2704     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2705       <details key="name" value="mapEnumMember_._type"/>
       
  2706       <details key="kind" value="elementOnly"/>
       
  2707     </eAnnotations>
       
  2708     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2709         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2710       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2711         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2712       </eAnnotations>
       
  2713       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2714         <details key="kind" value="attribute"/>
       
  2715         <details key="name" value="member"/>
       
  2716       </eAnnotations>
       
  2717     </eStructuralFeatures>
       
  2718     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2719         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2720       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2721         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2722       </eAnnotations>
       
  2723       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2724         <details key="kind" value="attribute"/>
       
  2725         <details key="name" value="property"/>
       
  2726       </eAnnotations>
       
  2727     </eStructuralFeatures>
       
  2728     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  2729         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2730         defaultValueLiteral="true" unsettable="true">
       
  2731       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2732         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2733       </eAnnotations>
       
  2734       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2735         <details key="kind" value="attribute"/>
       
  2736         <details key="name" value="suppressDefault"/>
       
  2737       </eAnnotations>
       
  2738     </eStructuralFeatures>
       
  2739   </eClassifiers>
       
  2740   <eClassifiers xsi:type="ecore:EClass" name="MapEnumType">
       
  2741     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2742       <details key="name" value="mapEnum_._type"/>
       
  2743       <details key="kind" value="empty"/>
       
  2744     </eAnnotations>
       
  2745     <eStructuralFeatures xsi:type="ecore:EAttribute" name="enumerator" unique="false"
       
  2746         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2747       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2748         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The RSS enumerator.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2749       </eAnnotations>
       
  2750       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2751         <details key="kind" value="attribute"/>
       
  2752         <details key="name" value="enumerator"/>
       
  2753       </eAnnotations>
       
  2754     </eStructuralFeatures>
       
  2755     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
       
  2756         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2757       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2758         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The property value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2759       </eAnnotations>
       
  2760       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2761         <details key="kind" value="attribute"/>
       
  2762         <details key="name" value="value"/>
       
  2763       </eAnnotations>
       
  2764     </eStructuralFeatures>
       
  2765   </eClassifiers>
       
  2766   <eClassifiers xsi:type="ecore:EClass" name="MapEnumTypeType" eSuperTypes="#//MappingEnumType">
       
  2767     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2768       <details key="name" value="mapEnumType_._type"/>
       
  2769       <details key="kind" value="elementOnly"/>
       
  2770     </eAnnotations>
       
  2771     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2772         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2773       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2774         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2775       </eAnnotations>
       
  2776       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2777         <details key="kind" value="attribute"/>
       
  2778         <details key="name" value="typeId"/>
       
  2779       </eAnnotations>
       
  2780     </eStructuralFeatures>
       
  2781   </eClassifiers>
       
  2782   <eClassifiers xsi:type="ecore:EClass" name="MapFixedElementType" eSuperTypes="#//MappingFixedType">
       
  2783     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2784       <details key="name" value="mapFixedElement_._type"/>
       
  2785       <details key="kind" value="empty"/>
       
  2786     </eAnnotations>
       
  2787   </eClassifiers>
       
  2788   <eClassifiers xsi:type="ecore:EClass" name="MapFixedMemberType" eSuperTypes="#//MappingFixedType">
       
  2789     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2790       <details key="name" value="mapFixedMember_._type"/>
       
  2791       <details key="kind" value="empty"/>
       
  2792     </eAnnotations>
       
  2793     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2794         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2795       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2796         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2797       </eAnnotations>
       
  2798       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2799         <details key="kind" value="attribute"/>
       
  2800         <details key="name" value="member"/>
       
  2801       </eAnnotations>
       
  2802     </eStructuralFeatures>
       
  2803     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  2804         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2805         defaultValueLiteral="true" unsettable="true">
       
  2806       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2807         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2808       </eAnnotations>
       
  2809       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2810         <details key="kind" value="attribute"/>
       
  2811         <details key="name" value="suppressDefault"/>
       
  2812       </eAnnotations>
       
  2813     </eStructuralFeatures>
       
  2814   </eClassifiers>
       
  2815   <eClassifiers xsi:type="ecore:EClass" name="MapFixedTypeType" eSuperTypes="#//MappingFixedType">
       
  2816     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2817       <details key="name" value="mapFixedType_._type"/>
       
  2818       <details key="kind" value="empty"/>
       
  2819     </eAnnotations>
       
  2820     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2821         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2822       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2823         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2824       </eAnnotations>
       
  2825       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2826         <details key="kind" value="attribute"/>
       
  2827         <details key="name" value="typeId"/>
       
  2828       </eAnnotations>
       
  2829     </eStructuralFeatures>
       
  2830   </eClassifiers>
       
  2831   <eClassifiers xsi:type="ecore:EClass" name="MapIdentifierElementType" eSuperTypes="#//MappingIdentifierType">
       
  2832     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2833       <details key="name" value="mapIdentifierElement_._type"/>
       
  2834       <details key="kind" value="empty"/>
       
  2835     </eAnnotations>
       
  2836   </eClassifiers>
       
  2837   <eClassifiers xsi:type="ecore:EClass" name="MapIdentifierMemberType" eSuperTypes="#//MappingIdentifierType">
       
  2838     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2839       <details key="name" value="mapIdentifierMember_._type"/>
       
  2840       <details key="kind" value="empty"/>
       
  2841     </eAnnotations>
       
  2842     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2843         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2844       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2845         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2846       </eAnnotations>
       
  2847       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2848         <details key="kind" value="attribute"/>
       
  2849         <details key="name" value="member"/>
       
  2850       </eAnnotations>
       
  2851     </eStructuralFeatures>
       
  2852     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2853         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2854       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2855         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2856       </eAnnotations>
       
  2857       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2858         <details key="kind" value="attribute"/>
       
  2859         <details key="name" value="property"/>
       
  2860       </eAnnotations>
       
  2861     </eStructuralFeatures>
       
  2862     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  2863         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2864         defaultValueLiteral="true" unsettable="true">
       
  2865       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2866         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2867       </eAnnotations>
       
  2868       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2869         <details key="kind" value="attribute"/>
       
  2870         <details key="name" value="suppressDefault"/>
       
  2871       </eAnnotations>
       
  2872     </eStructuralFeatures>
       
  2873   </eClassifiers>
       
  2874   <eClassifiers xsi:type="ecore:EClass" name="MapIdentifierTypeType" eSuperTypes="#//MappingIdentifierType">
       
  2875     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2876       <details key="name" value="mapIdentifierType_._type"/>
       
  2877       <details key="kind" value="empty"/>
       
  2878     </eAnnotations>
       
  2879     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2880         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2881       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2882         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2883       </eAnnotations>
       
  2884       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2885         <details key="kind" value="attribute"/>
       
  2886         <details key="name" value="typeId"/>
       
  2887       </eAnnotations>
       
  2888     </eStructuralFeatures>
       
  2889   </eClassifiers>
       
  2890   <eClassifiers xsi:type="ecore:EClass" name="MapInstanceElementType" eSuperTypes="#//MappingInstanceType">
       
  2891     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2892       <details key="name" value="mapInstanceElement_._type"/>
       
  2893       <details key="kind" value="empty"/>
       
  2894     </eAnnotations>
       
  2895   </eClassifiers>
       
  2896   <eClassifiers xsi:type="ecore:EClass" name="MapInstanceMemberType" eSuperTypes="#//MappingInstanceType">
       
  2897     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2898       <details key="name" value="mapInstanceMember_._type"/>
       
  2899       <details key="kind" value="empty"/>
       
  2900     </eAnnotations>
       
  2901     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2902         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2903       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2904         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2905       </eAnnotations>
       
  2906       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2907         <details key="kind" value="attribute"/>
       
  2908         <details key="name" value="member"/>
       
  2909       </eAnnotations>
       
  2910     </eStructuralFeatures>
       
  2911     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2912         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2913       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2914         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2915       </eAnnotations>
       
  2916       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2917         <details key="kind" value="attribute"/>
       
  2918         <details key="name" value="property"/>
       
  2919       </eAnnotations>
       
  2920     </eStructuralFeatures>
       
  2921     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  2922         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  2923         defaultValueLiteral="true" unsettable="true">
       
  2924       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2925         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2926       </eAnnotations>
       
  2927       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2928         <details key="kind" value="attribute"/>
       
  2929         <details key="name" value="suppressDefault"/>
       
  2930       </eAnnotations>
       
  2931     </eStructuralFeatures>
       
  2932   </eClassifiers>
       
  2933   <eClassifiers xsi:type="ecore:EClass" name="MapInstanceTypeType" eSuperTypes="#//MappingInstanceType">
       
  2934     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2935       <details key="name" value="mapInstanceType_._type"/>
       
  2936       <details key="kind" value="empty"/>
       
  2937     </eAnnotations>
       
  2938     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  2939         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2940       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2941         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2942       </eAnnotations>
       
  2943       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2944         <details key="kind" value="attribute"/>
       
  2945         <details key="name" value="typeId"/>
       
  2946       </eAnnotations>
       
  2947     </eStructuralFeatures>
       
  2948   </eClassifiers>
       
  2949   <eClassifiers xsi:type="ecore:EClass" name="MapIntoPropertyType" eSuperTypes="#//TwoWayMappingType">
       
  2950     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2951       <details key="name" value="mapIntoProperty_._type"/>
       
  2952       <details key="kind" value="elementOnly"/>
       
  2953     </eAnnotations>
       
  2954     <eStructuralFeatures xsi:type="ecore:EAttribute" name="twoWayMappingGroup" unique="false"
       
  2955         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  2956       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2957         <details key="kind" value="group"/>
       
  2958         <details key="name" value="twoWayMapping:group"/>
       
  2959         <details key="namespace" value="##targetNamespace"/>
       
  2960       </eAnnotations>
       
  2961     </eStructuralFeatures>
       
  2962     <eStructuralFeatures xsi:type="ecore:EReference" name="twoWayMapping" lowerBound="1"
       
  2963         eType="#//TwoWayMappingType" changeable="false" volatile="true" transient="true"
       
  2964         derived="true" containment="true" resolveProxies="false">
       
  2965       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2966         <details key="kind" value="element"/>
       
  2967         <details key="name" value="twoWayMapping"/>
       
  2968         <details key="namespace" value="##targetNamespace"/>
       
  2969         <details key="group" value="twoWayMapping:group"/>
       
  2970       </eAnnotations>
       
  2971     </eStructuralFeatures>
       
  2972     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2973         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2974       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2975         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  2976       </eAnnotations>
       
  2977       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2978         <details key="kind" value="attribute"/>
       
  2979         <details key="name" value="property"/>
       
  2980       </eAnnotations>
       
  2981     </eStructuralFeatures>
       
  2982   </eClassifiers>
       
  2983   <eClassifiers xsi:type="ecore:EClass" name="MapMemberFromTypeType" eSuperTypes="#//TwoWayMappingType">
       
  2984     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2985       <details key="name" value="mapMemberFromType_._type"/>
       
  2986       <details key="kind" value="empty"/>
       
  2987     </eAnnotations>
       
  2988     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  2989         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  2990       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  2991         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  2992       </eAnnotations>
       
  2993       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  2994         <details key="kind" value="attribute"/>
       
  2995         <details key="name" value="member"/>
       
  2996       </eAnnotations>
       
  2997     </eStructuralFeatures>
       
  2998     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  2999         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3000       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3001         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3002       </eAnnotations>
       
  3003       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3004         <details key="kind" value="attribute"/>
       
  3005         <details key="name" value="property"/>
       
  3006       </eAnnotations>
       
  3007     </eStructuralFeatures>
       
  3008     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  3009         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3010         defaultValueLiteral="true" unsettable="true">
       
  3011       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3012         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3013       </eAnnotations>
       
  3014       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3015         <details key="kind" value="attribute"/>
       
  3016         <details key="name" value="suppressDefault"/>
       
  3017       </eAnnotations>
       
  3018     </eStructuralFeatures>
       
  3019     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  3020         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3021       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3022         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This attribute tells which of a set of type mappings to use&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;from the given type (as named in the id=&quot;...&quot; attributes on&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the mapXXXType children of sourceTypeMapping).   &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3023       </eAnnotations>
       
  3024       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3025         <details key="kind" value="attribute"/>
       
  3026         <details key="name" value="typeId"/>
       
  3027       </eAnnotations>
       
  3028     </eStructuralFeatures>
       
  3029   </eClassifiers>
       
  3030   <eClassifiers xsi:type="ecore:EClass" name="MappingArrayType" eSuperTypes="#//TwoWayMappingType">
       
  3031     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3032       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping arrays from sequence properties or component instance children.&#xD;&#xA;&#x9;&#x9;"/>
       
  3033     </eAnnotations>
       
  3034     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3035       <details key="name" value="mappingArrayType"/>
       
  3036       <details key="kind" value="elementOnly"/>
       
  3037     </eAnnotations>
       
  3038     <eStructuralFeatures xsi:type="ecore:EAttribute" name="twoWayMappingGroup" unique="false"
       
  3039         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  3040       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3041         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This is restricted to mapXXXElement, mapElementFromType, or mapIntoProperty, but we can't represent this in XSD.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3042       </eAnnotations>
       
  3043       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3044         <details key="kind" value="group"/>
       
  3045         <details key="name" value="twoWayMapping:group"/>
       
  3046         <details key="namespace" value="##targetNamespace"/>
       
  3047       </eAnnotations>
       
  3048     </eStructuralFeatures>
       
  3049     <eStructuralFeatures xsi:type="ecore:EReference" name="twoWayMapping" eType="#//TwoWayMappingType"
       
  3050         changeable="false" volatile="true" transient="true" derived="true" containment="true"
       
  3051         resolveProxies="false">
       
  3052       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3053         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This is restricted to mapXXXElement, mapElementFromType, or mapIntoProperty, but we can't represent this in XSD.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3054       </eAnnotations>
       
  3055       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3056         <details key="kind" value="element"/>
       
  3057         <details key="name" value="twoWayMapping"/>
       
  3058         <details key="namespace" value="##targetNamespace"/>
       
  3059         <details key="group" value="twoWayMapping:group"/>
       
  3060       </eAnnotations>
       
  3061     </eStructuralFeatures>
       
  3062     <eStructuralFeatures xsi:type="ecore:EReference" name="select" eType="#//SelectType"
       
  3063         containment="true" resolveProxies="false">
       
  3064       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3065         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element encapsulates choice elements which allow conditional&#xD;&#xA;&#x9;&#x9;source mapping.  One choice must match or an error results (you can&#xD;&#xA;&#x9;&#x9;use an empty choice to match the default case if necessary).  Only&#xD;&#xA;&#x9;&#x9;the first matching choice is considered.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9; for the select statement.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;"/>
       
  3066       </eAnnotations>
       
  3067       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3068         <details key="kind" value="element"/>
       
  3069         <details key="name" value="select"/>
       
  3070         <details key="namespace" value="##targetNamespace"/>
       
  3071       </eAnnotations>
       
  3072     </eStructuralFeatures>
       
  3073   </eClassifiers>
       
  3074   <eClassifiers xsi:type="ecore:EClass" name="MappingBitmaskType" eSuperTypes="#//TwoWayMappingType">
       
  3075     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3076       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping sets of boolean properties to a single bitmask expression in RSS.&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;When mapping this element, a working set of the includedProperties is created.&#xD;&#xA;&#x9;&#x9;Each mapBitmaskValue element is considered in turn, and if all the properties&#xD;&#xA;&#x9;&#x9;it references are present in the working set and have the value &quot;true&quot;, &#xD;&#xA;&#x9;&#x9;the matching value is OR'ed into the target expression, and those properties removed from the working set.&#xD;&#xA;&#x9;&#x9;Once the working set is empty, the mapping is complete.  If all mapBitmaskValues are&#xD;&#xA;&#x9;&#x9;exhausted but the working set is non-empty, this is a component error.&#xD;&#xA;&#x9;&#x9;"/>
       
  3077     </eAnnotations>
       
  3078     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3079       <details key="name" value="mappingBitmaskType"/>
       
  3080       <details key="kind" value="elementOnly"/>
       
  3081     </eAnnotations>
       
  3082     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  3083         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  3084       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3085         <details key="kind" value="group"/>
       
  3086         <details key="name" value="group:0"/>
       
  3087       </eAnnotations>
       
  3088     </eStructuralFeatures>
       
  3089     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskValue" upperBound="-1"
       
  3090         eType="#//MapBitmaskValueType" volatile="true" transient="true" derived="true"
       
  3091         containment="true" resolveProxies="false">
       
  3092       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3093         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of properties to a subexpression of the bitmask expression.  If all the given&#xD;&#xA;&#x9;&#x9;properties are &quot;true&quot;, the given value is OR'ed into the target expression.&#xD;&#xA;&#x9;&#x9;"/>
       
  3094       </eAnnotations>
       
  3095       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3096         <details key="kind" value="element"/>
       
  3097         <details key="name" value="mapBitmaskValue"/>
       
  3098         <details key="namespace" value="##targetNamespace"/>
       
  3099         <details key="group" value="#group:0"/>
       
  3100       </eAnnotations>
       
  3101     </eStructuralFeatures>
       
  3102     <eStructuralFeatures xsi:type="ecore:EAttribute" name="includedProperties" unique="false"
       
  3103         eType="#//ListOfStrings">
       
  3104       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3105         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The list of properties included in the set.  If undefined, all the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;sibling properties (within a component or compound property) are included.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Every included property must be referenced in a mapBitmaskValue element,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;or else the mapping is considered invalid, and an error reported.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3106       </eAnnotations>
       
  3107       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3108         <details key="kind" value="attribute"/>
       
  3109         <details key="name" value="includedProperties"/>
       
  3110       </eAnnotations>
       
  3111     </eStructuralFeatures>
       
  3112   </eClassifiers>
       
  3113   <eClassifiers xsi:type="ecore:EClass" name="MappingEnumType" eSuperTypes="#//TwoWayMappingType">
       
  3114     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3115       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping enumerator properties.&#xD;&#xA;&#x9;&#x9;If any mapEnum elements specified, they completely define the list of mappings &#xD;&#xA;&#x9;&#x9;of internal enumerator values  to external RSS values.  Otherwise, internal &#xD;&#xA;&#x9;&#x9;values are directly emitted as RSS values.&#xD;&#xA;&#x9;&#x9;"/>
       
  3116     </eAnnotations>
       
  3117     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3118       <details key="name" value="mappingEnumType"/>
       
  3119       <details key="kind" value="elementOnly"/>
       
  3120     </eAnnotations>
       
  3121     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  3122         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  3123       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3124         <details key="kind" value="group"/>
       
  3125         <details key="name" value="group:0"/>
       
  3126       </eAnnotations>
       
  3127     </eStructuralFeatures>
       
  3128     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnum" upperBound="-1"
       
  3129         eType="#//MapEnumType" volatile="true" transient="true" derived="true" containment="true"
       
  3130         resolveProxies="false">
       
  3131       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3132         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines the mapping of one particular property value to one&#xD;&#xA;&#x9;&#x9;particular RSS value.&#xD;&#xA;&#x9;&#x9;"/>
       
  3133       </eAnnotations>
       
  3134       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3135         <details key="kind" value="element"/>
       
  3136         <details key="name" value="mapEnum"/>
       
  3137         <details key="namespace" value="##targetNamespace"/>
       
  3138         <details key="group" value="#group:0"/>
       
  3139       </eAnnotations>
       
  3140     </eStructuralFeatures>
       
  3141     <eStructuralFeatures xsi:type="ecore:EAttribute" name="enumeration" unique="false"
       
  3142         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3143       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3144         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Unused.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3145       </eAnnotations>
       
  3146       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3147         <details key="kind" value="attribute"/>
       
  3148         <details key="name" value="enumeration"/>
       
  3149       </eAnnotations>
       
  3150     </eStructuralFeatures>
       
  3151     <eStructuralFeatures xsi:type="ecore:EAttribute" name="headers" unique="false"
       
  3152         eType="#//ListOfStrings">
       
  3153       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3154         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;List of header files that must be included to provide the RSS enumerator symbols.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3155       </eAnnotations>
       
  3156       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3157         <details key="kind" value="attribute"/>
       
  3158         <details key="name" value="headers"/>
       
  3159       </eAnnotations>
       
  3160     </eStructuralFeatures>
       
  3161     <eStructuralFeatures xsi:type="ecore:EAttribute" name="nameAlgorithm" unique="false"
       
  3162         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3163       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3164         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If defined, mapped RSS values may be generated by an algorithm based on&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the current instance and property.  See the com.nokia.sdt.sourceGen.nameAlgorithm&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;extension point for details.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3165       </eAnnotations>
       
  3166       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3167         <details key="kind" value="attribute"/>
       
  3168         <details key="name" value="nameAlgorithm"/>
       
  3169       </eAnnotations>
       
  3170     </eStructuralFeatures>
       
  3171     <eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueValue" unique="false"
       
  3172         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3173       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3174         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;When nameAlgorithm is defined, specifies that some or all mapped values&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;are generated by the name algorithm.  If the value is &quot;*&quot;, every value goes&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;through the name algorithm and gets an enumerator in an *.hrh file.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Otherwise, only properties matching the value are generated.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3175       </eAnnotations>
       
  3176       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3177         <details key="kind" value="attribute"/>
       
  3178         <details key="name" value="uniqueValue"/>
       
  3179       </eAnnotations>
       
  3180     </eStructuralFeatures>
       
  3181     <eStructuralFeatures xsi:type="ecore:EAttribute" name="validate" unique="false"
       
  3182         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3183         defaultValueLiteral="true" unsettable="true">
       
  3184       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3185         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If true, ensure that mapped enumerators are declared in the RSS context,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;emitting warnings if not.  Set this to false if mapping #defines or&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;expressions.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3186       </eAnnotations>
       
  3187       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3188         <details key="kind" value="attribute"/>
       
  3189         <details key="name" value="validate"/>
       
  3190       </eAnnotations>
       
  3191     </eStructuralFeatures>
       
  3192   </eClassifiers>
       
  3193   <eClassifiers xsi:type="ecore:EClass" name="MappingFixedType" eSuperTypes="#//TwoWayMappingType">
       
  3194     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3195       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping a fixed value to RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  3196     </eAnnotations>
       
  3197     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3198       <details key="name" value="mappingFixedType"/>
       
  3199       <details key="kind" value="empty"/>
       
  3200     </eAnnotations>
       
  3201     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
       
  3202         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3203       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3204         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The literal string to emit into RSS.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3205       </eAnnotations>
       
  3206       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3207         <details key="kind" value="attribute"/>
       
  3208         <details key="name" value="value"/>
       
  3209       </eAnnotations>
       
  3210     </eStructuralFeatures>
       
  3211   </eClassifiers>
       
  3212   <eClassifiers xsi:type="ecore:EClass" name="MappingIdentifierType" eSuperTypes="#//TwoWayMappingType">
       
  3213     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3214       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping property values to RSS identifiers (rather than&#xD;&#xA;&#x9;&#x9;strings, for instance, as mappingSimpleType would do).&#xD;&#xA;&#x9;&#x9;"/>
       
  3215     </eAnnotations>
       
  3216     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3217       <details key="name" value="mappingIdentifierType"/>
       
  3218       <details key="kind" value="empty"/>
       
  3219     </eAnnotations>
       
  3220   </eClassifiers>
       
  3221   <eClassifiers xsi:type="ecore:EClass" name="MappingInstanceType" eSuperTypes="#//TwoWayMappingType">
       
  3222     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3223       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping resources generated by component instances.&#xD;&#xA;&#x9;&#x9;Either a reference to the resource is emitted (for LLINK targets)&#xD;&#xA;&#x9;&#x9;or the resource expression is emitted (for STRUCT targets).&#xD;&#xA;&#x9;&#x9;"/>
       
  3224     </eAnnotations>
       
  3225     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3226       <details key="name" value="mappingInstanceType"/>
       
  3227       <details key="kind" value="empty"/>
       
  3228     </eAnnotations>
       
  3229     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rsrcId" unique="false"
       
  3230         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3231       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3232         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If specified, which particular resource to match.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3233       </eAnnotations>
       
  3234       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3235         <details key="kind" value="attribute"/>
       
  3236         <details key="name" value="rsrcId"/>
       
  3237       </eAnnotations>
       
  3238     </eStructuralFeatures>
       
  3239   </eClassifiers>
       
  3240   <eClassifiers xsi:type="ecore:EClass" name="MappingReferenceType" eSuperTypes="#//TwoWayMappingType">
       
  3241     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3242       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping references to resources generated by component instances.&#xD;&#xA;&#x9;&#x9;"/>
       
  3243     </eAnnotations>
       
  3244     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3245       <details key="name" value="mappingReferenceType"/>
       
  3246       <details key="kind" value="empty"/>
       
  3247     </eAnnotations>
       
  3248     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rsrcId" unique="false"
       
  3249         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3250       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3251         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If defined, tells which particular generated resource to reference.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3252       </eAnnotations>
       
  3253       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3254         <details key="kind" value="attribute"/>
       
  3255         <details key="name" value="rsrcId"/>
       
  3256       </eAnnotations>
       
  3257     </eStructuralFeatures>
       
  3258   </eClassifiers>
       
  3259   <eClassifiers xsi:type="ecore:EClass" name="MappingResourceType" eSuperTypes="#//TwoWayMappingType">
       
  3260     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3261       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping resources in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  3262     </eAnnotations>
       
  3263     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3264       <details key="name" value="mappingResourceType"/>
       
  3265       <details key="kind" value="elementOnly"/>
       
  3266     </eAnnotations>
       
  3267     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  3268         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  3269       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3270         <details key="kind" value="group"/>
       
  3271         <details key="name" value="group:0"/>
       
  3272       </eAnnotations>
       
  3273     </eStructuralFeatures>
       
  3274     <eStructuralFeatures xsi:type="ecore:EReference" name="mapSimpleMember" upperBound="-1"
       
  3275         eType="#//MapSimpleMemberType" volatile="true" transient="true" derived="true"
       
  3276         containment="true" resolveProxies="false">
       
  3277       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3278         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple value to a member.&#xD;&#xA;&#x9;&#x9;"/>
       
  3279       </eAnnotations>
       
  3280       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3281         <details key="kind" value="element"/>
       
  3282         <details key="name" value="mapSimpleMember"/>
       
  3283         <details key="namespace" value="##targetNamespace"/>
       
  3284         <details key="group" value="#group:0"/>
       
  3285       </eAnnotations>
       
  3286     </eStructuralFeatures>
       
  3287     <eStructuralFeatures xsi:type="ecore:EReference" name="mapInstanceMember" upperBound="-1"
       
  3288         eType="#//MapInstanceMemberType" volatile="true" transient="true" derived="true"
       
  3289         containment="true" resolveProxies="false">
       
  3290       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3291         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map resources for an instance.&#xD;&#xA;&#x9;&#x9;"/>
       
  3292       </eAnnotations>
       
  3293       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3294         <details key="kind" value="element"/>
       
  3295         <details key="name" value="mapInstanceMember"/>
       
  3296         <details key="namespace" value="##targetNamespace"/>
       
  3297         <details key="group" value="#group:0"/>
       
  3298       </eAnnotations>
       
  3299     </eStructuralFeatures>
       
  3300     <eStructuralFeatures xsi:type="ecore:EReference" name="mapReferenceMember" upperBound="-1"
       
  3301         eType="#//MapReferenceMemberType" volatile="true" transient="true" derived="true"
       
  3302         containment="true" resolveProxies="false">
       
  3303       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3304         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a reference property to resources the instance generates.&#xD;&#xA;&#x9;&#x9;"/>
       
  3305       </eAnnotations>
       
  3306       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3307         <details key="kind" value="element"/>
       
  3308         <details key="name" value="mapReferenceMember"/>
       
  3309         <details key="namespace" value="##targetNamespace"/>
       
  3310         <details key="group" value="#group:0"/>
       
  3311       </eAnnotations>
       
  3312     </eStructuralFeatures>
       
  3313     <eStructuralFeatures xsi:type="ecore:EReference" name="mapFixedMember" upperBound="-1"
       
  3314         eType="#//MapFixedMemberType" volatile="true" transient="true" derived="true"
       
  3315         containment="true" resolveProxies="false">
       
  3316       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3317         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a fixed value to an RSS member.&#xD;&#xA;&#x9;&#x9;"/>
       
  3318       </eAnnotations>
       
  3319       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3320         <details key="kind" value="element"/>
       
  3321         <details key="name" value="mapFixedMember"/>
       
  3322         <details key="namespace" value="##targetNamespace"/>
       
  3323         <details key="group" value="#group:0"/>
       
  3324       </eAnnotations>
       
  3325     </eStructuralFeatures>
       
  3326     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnumMember" upperBound="-1"
       
  3327         eType="#//MapEnumMemberType" volatile="true" transient="true" derived="true"
       
  3328         containment="true" resolveProxies="false">
       
  3329       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3330         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an enumerator to RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  3331       </eAnnotations>
       
  3332       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3333         <details key="kind" value="element"/>
       
  3334         <details key="name" value="mapEnumMember"/>
       
  3335         <details key="namespace" value="##targetNamespace"/>
       
  3336         <details key="group" value="#group:0"/>
       
  3337       </eAnnotations>
       
  3338     </eStructuralFeatures>
       
  3339     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIdentifierMember" upperBound="-1"
       
  3340         eType="#//MapIdentifierMemberType" volatile="true" transient="true" derived="true"
       
  3341         containment="true" resolveProxies="false">
       
  3342       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3343         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple property to a literal (identifier) in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  3344       </eAnnotations>
       
  3345       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3346         <details key="kind" value="element"/>
       
  3347         <details key="name" value="mapIdentifierMember"/>
       
  3348         <details key="namespace" value="##targetNamespace"/>
       
  3349         <details key="group" value="#group:0"/>
       
  3350       </eAnnotations>
       
  3351     </eStructuralFeatures>
       
  3352     <eStructuralFeatures xsi:type="ecore:EReference" name="mapArrayMember" upperBound="-1"
       
  3353         eType="#//MapArrayMemberType" volatile="true" transient="true" derived="true"
       
  3354         containment="true" resolveProxies="false">
       
  3355       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3356         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property or child list to an array in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  3357       </eAnnotations>
       
  3358       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3359         <details key="kind" value="element"/>
       
  3360         <details key="name" value="mapArrayMember"/>
       
  3361         <details key="namespace" value="##targetNamespace"/>
       
  3362         <details key="group" value="#group:0"/>
       
  3363       </eAnnotations>
       
  3364     </eStructuralFeatures>
       
  3365     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResourceMember" upperBound="-1"
       
  3366         eType="#//MapResourceMemberType" volatile="true" transient="true" derived="true"
       
  3367         containment="true" resolveProxies="false">
       
  3368       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3369         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property to a RESOURCE expression or statement.&#xD;&#xA;&#x9;&#x9;"/>
       
  3370       </eAnnotations>
       
  3371       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3372         <details key="kind" value="element"/>
       
  3373         <details key="name" value="mapResourceMember"/>
       
  3374         <details key="namespace" value="##targetNamespace"/>
       
  3375         <details key="group" value="#group:0"/>
       
  3376       </eAnnotations>
       
  3377     </eStructuralFeatures>
       
  3378     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskMember" upperBound="-1"
       
  3379         eType="#//MapBitmaskMemberType" volatile="true" transient="true" derived="true"
       
  3380         containment="true" resolveProxies="false">
       
  3381       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3382         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of boolean properties to a bitmask expression in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  3383       </eAnnotations>
       
  3384       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3385         <details key="kind" value="element"/>
       
  3386         <details key="name" value="mapBitmaskMember"/>
       
  3387         <details key="namespace" value="##targetNamespace"/>
       
  3388         <details key="group" value="#group:0"/>
       
  3389       </eAnnotations>
       
  3390     </eStructuralFeatures>
       
  3391     <eStructuralFeatures xsi:type="ecore:EReference" name="mapMemberFromType" upperBound="-1"
       
  3392         eType="#//MapMemberFromTypeType" volatile="true" transient="true" derived="true"
       
  3393         containment="true" resolveProxies="false">
       
  3394       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3395         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map RSS from the type declaration attached to the given property.&#xD;&#xA;&#x9;&#x9;"/>
       
  3396       </eAnnotations>
       
  3397       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3398         <details key="kind" value="element"/>
       
  3399         <details key="name" value="mapMemberFromType"/>
       
  3400         <details key="namespace" value="##targetNamespace"/>
       
  3401         <details key="group" value="#group:0"/>
       
  3402       </eAnnotations>
       
  3403     </eStructuralFeatures>
       
  3404     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIntoProperty" upperBound="-1"
       
  3405         eType="#//MapIntoPropertyType" volatile="true" transient="true" derived="true"
       
  3406         containment="true" resolveProxies="false">
       
  3407       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3408         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Delve into a property path without generating any resources.&#xD;&#xA;&#x9;&#x9;"/>
       
  3409       </eAnnotations>
       
  3410       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3411         <details key="kind" value="element"/>
       
  3412         <details key="name" value="mapIntoProperty"/>
       
  3413         <details key="namespace" value="##targetNamespace"/>
       
  3414         <details key="group" value="#group:0"/>
       
  3415       </eAnnotations>
       
  3416     </eStructuralFeatures>
       
  3417     <eStructuralFeatures xsi:type="ecore:EReference" name="select" upperBound="-1"
       
  3418         eType="#//SelectType" volatile="true" transient="true" derived="true" containment="true"
       
  3419         resolveProxies="false">
       
  3420       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3421         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element encapsulates choice elements which allow conditional&#xD;&#xA;&#x9;&#x9;source mapping.  One choice must match or an error results (you can&#xD;&#xA;&#x9;&#x9;use an empty choice to match the default case if necessary).  Only&#xD;&#xA;&#x9;&#x9;the first matching choice is considered.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9; for the select statement.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;"/>
       
  3422       </eAnnotations>
       
  3423       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3424         <details key="kind" value="element"/>
       
  3425         <details key="name" value="select"/>
       
  3426         <details key="namespace" value="##targetNamespace"/>
       
  3427         <details key="group" value="#group:0"/>
       
  3428       </eAnnotations>
       
  3429     </eStructuralFeatures>
       
  3430     <eStructuralFeatures xsi:type="ecore:EAttribute" name="headers" unique="false"
       
  3431         eType="#//ListOfStrings">
       
  3432       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3433         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The list of headers required to declare the STRUCT.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3434       </eAnnotations>
       
  3435       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3436         <details key="kind" value="attribute"/>
       
  3437         <details key="name" value="headers"/>
       
  3438       </eAnnotations>
       
  3439     </eStructuralFeatures>
       
  3440     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3441       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3442         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The unique identifier for this resource within a component.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Every mapResourceXXX must have an identifier, either implicitly&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;or explicitly defined.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If unspecified, an identifier is automatically generated for&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;mapResourceMember or mapResourceElement elements.  Otherwise,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;missing identifiers are reported at errors at source mapping time.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3443       </eAnnotations>
       
  3444       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3445         <details key="kind" value="attribute"/>
       
  3446         <details key="name" value="id"/>
       
  3447       </eAnnotations>
       
  3448     </eStructuralFeatures>
       
  3449     <eStructuralFeatures xsi:type="ecore:EAttribute" name="struct" unique="false"
       
  3450         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3451       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3452         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The RSS STRUCT name to generate.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3453       </eAnnotations>
       
  3454       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3455         <details key="kind" value="attribute"/>
       
  3456         <details key="name" value="struct"/>
       
  3457       </eAnnotations>
       
  3458     </eStructuralFeatures>
       
  3459   </eClassifiers>
       
  3460   <eClassifiers xsi:type="ecore:EClass" name="MappingSimpleType" eSuperTypes="#//TwoWayMappingType">
       
  3461     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3462       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for mapping simple types (integers, floats, strings, booleans).&#xD;&#xA;&#x9;&#x9;"/>
       
  3463     </eAnnotations>
       
  3464     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3465       <details key="name" value="mappingSimpleType"/>
       
  3466       <details key="kind" value="empty"/>
       
  3467     </eAnnotations>
       
  3468   </eClassifiers>
       
  3469   <eClassifiers xsi:type="ecore:EClass" name="MapReferenceElementType" eSuperTypes="#//MappingReferenceType">
       
  3470     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3471       <details key="name" value="mapReferenceElement_._type"/>
       
  3472       <details key="kind" value="empty"/>
       
  3473     </eAnnotations>
       
  3474   </eClassifiers>
       
  3475   <eClassifiers xsi:type="ecore:EClass" name="MapReferenceMemberType" eSuperTypes="#//MappingReferenceType">
       
  3476     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3477       <details key="name" value="mapReferenceMember_._type"/>
       
  3478       <details key="kind" value="empty"/>
       
  3479     </eAnnotations>
       
  3480     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  3481         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3482       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3483         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3484       </eAnnotations>
       
  3485       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3486         <details key="kind" value="attribute"/>
       
  3487         <details key="name" value="member"/>
       
  3488       </eAnnotations>
       
  3489     </eStructuralFeatures>
       
  3490     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  3491         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3492       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3493         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3494       </eAnnotations>
       
  3495       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3496         <details key="kind" value="attribute"/>
       
  3497         <details key="name" value="property"/>
       
  3498       </eAnnotations>
       
  3499     </eStructuralFeatures>
       
  3500     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  3501         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3502         defaultValueLiteral="true" unsettable="true">
       
  3503       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3504         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3505       </eAnnotations>
       
  3506       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3507         <details key="kind" value="attribute"/>
       
  3508         <details key="name" value="suppressDefault"/>
       
  3509       </eAnnotations>
       
  3510     </eStructuralFeatures>
       
  3511   </eClassifiers>
       
  3512   <eClassifiers xsi:type="ecore:EClass" name="MapReferenceTypeType" eSuperTypes="#//MappingReferenceType">
       
  3513     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3514       <details key="name" value="mapReferenceType_._type"/>
       
  3515       <details key="kind" value="empty"/>
       
  3516     </eAnnotations>
       
  3517     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  3518         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3519       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3520         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3521       </eAnnotations>
       
  3522       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3523         <details key="kind" value="attribute"/>
       
  3524         <details key="name" value="typeId"/>
       
  3525       </eAnnotations>
       
  3526     </eStructuralFeatures>
       
  3527   </eClassifiers>
       
  3528   <eClassifiers xsi:type="ecore:EClass" name="MapResourceElementType" eSuperTypes="#//MappingResourceType">
       
  3529     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3530       <details key="name" value="mapResourceElement_._type"/>
       
  3531       <details key="kind" value="elementOnly"/>
       
  3532     </eAnnotations>
       
  3533     <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceIdentifyingMember"
       
  3534         unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3535       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3536         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This attribute provides a means to distinguish resource&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;elements that come from different instances.  &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;It tells which resource member to use as a key, so that the &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;array mapper can match up elements to instances when importing,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;to allow unknown items to be inserted (or for known items to &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;be reordered, ideally).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If not set, the array is assumed to contain entries whose&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;positions uniquely identify them (as is the case with&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;arrays of integers, references, etc.).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3537       </eAnnotations>
       
  3538       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3539         <details key="kind" value="attribute"/>
       
  3540         <details key="name" value="instanceIdentifyingMember"/>
       
  3541       </eAnnotations>
       
  3542     </eStructuralFeatures>
       
  3543   </eClassifiers>
       
  3544   <eClassifiers xsi:type="ecore:EClass" name="MapResourceMemberType" eSuperTypes="#//MappingResourceType">
       
  3545     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3546       <details key="name" value="mapResourceMember_._type"/>
       
  3547       <details key="kind" value="elementOnly"/>
       
  3548     </eAnnotations>
       
  3549     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  3550         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3551       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3552         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3553       </eAnnotations>
       
  3554       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3555         <details key="kind" value="attribute"/>
       
  3556         <details key="name" value="member"/>
       
  3557       </eAnnotations>
       
  3558     </eStructuralFeatures>
       
  3559     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  3560         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3561       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3562         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3563       </eAnnotations>
       
  3564       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3565         <details key="kind" value="attribute"/>
       
  3566         <details key="name" value="property"/>
       
  3567       </eAnnotations>
       
  3568     </eStructuralFeatures>
       
  3569     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  3570         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3571         defaultValueLiteral="true" unsettable="true">
       
  3572       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3573         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3574       </eAnnotations>
       
  3575       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3576         <details key="kind" value="attribute"/>
       
  3577         <details key="name" value="suppressDefault"/>
       
  3578       </eAnnotations>
       
  3579     </eStructuralFeatures>
       
  3580   </eClassifiers>
       
  3581   <eClassifiers xsi:type="ecore:EClass" name="MapResourceType" eSuperTypes="#//MappingResourceType">
       
  3582     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3583       <details key="name" value="mapResource_._type"/>
       
  3584       <details key="kind" value="elementOnly"/>
       
  3585     </eAnnotations>
       
  3586     <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseName" unique="false"
       
  3587         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3588       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3589         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Force the base name of the resource.  If unspecified, resources are&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;named after the instance and member or element being mapped.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3590       </eAnnotations>
       
  3591       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3592         <details key="kind" value="attribute"/>
       
  3593         <details key="name" value="baseName"/>
       
  3594       </eAnnotations>
       
  3595     </eStructuralFeatures>
       
  3596     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rssFile" unique="false"
       
  3597         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3598       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3599         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Force the RSS filename (but not directory).  This is used to redirect&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;resources to a top-level RSS file.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3600       </eAnnotations>
       
  3601       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3602         <details key="kind" value="attribute"/>
       
  3603         <details key="name" value="rssFile"/>
       
  3604       </eAnnotations>
       
  3605     </eStructuralFeatures>
       
  3606     <eStructuralFeatures xsi:type="ecore:EAttribute" name="standalone" unique="false"
       
  3607         eType="#//StandaloneType" defaultValueLiteral="default" unsettable="true">
       
  3608       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3609         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This tells whether the resource must be emitted as a standalone resource statement (always),&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;regardless of whether it is also generated as a resource expression, or whether it&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;will never be emitted unless referenced by another resource (never).  The default behavior&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;is to emit it if not generated as an expression.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3610       </eAnnotations>
       
  3611       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3612         <details key="kind" value="attribute"/>
       
  3613         <details key="name" value="standalone"/>
       
  3614       </eAnnotations>
       
  3615     </eStructuralFeatures>
       
  3616     <eStructuralFeatures xsi:type="ecore:EAttribute" name="unnamed" unique="false"
       
  3617         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3618         defaultValueLiteral="false" unsettable="true">
       
  3619       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3620         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;This tells whether to emit the resource without a name&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3621       </eAnnotations>
       
  3622       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3623         <details key="kind" value="attribute"/>
       
  3624         <details key="name" value="unnamed"/>
       
  3625       </eAnnotations>
       
  3626     </eStructuralFeatures>
       
  3627   </eClassifiers>
       
  3628   <eClassifiers xsi:type="ecore:EClass" name="MapResourceTypeType" eSuperTypes="#//MappingResourceType">
       
  3629     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3630       <details key="name" value="mapResourceType_._type"/>
       
  3631       <details key="kind" value="elementOnly"/>
       
  3632     </eAnnotations>
       
  3633     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  3634         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3635       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3636         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3637       </eAnnotations>
       
  3638       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3639         <details key="kind" value="attribute"/>
       
  3640         <details key="name" value="typeId"/>
       
  3641       </eAnnotations>
       
  3642     </eStructuralFeatures>
       
  3643   </eClassifiers>
       
  3644   <eClassifiers xsi:type="ecore:EClass" name="MapSimpleElementType" eSuperTypes="#//MappingSimpleType">
       
  3645     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3646       <details key="name" value="mapSimpleElement_._type"/>
       
  3647       <details key="kind" value="empty"/>
       
  3648     </eAnnotations>
       
  3649   </eClassifiers>
       
  3650   <eClassifiers xsi:type="ecore:EClass" name="MapSimpleMemberType" eSuperTypes="#//MappingSimpleType">
       
  3651     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3652       <details key="name" value="mapSimpleMember_._type"/>
       
  3653       <details key="kind" value="empty"/>
       
  3654     </eAnnotations>
       
  3655     <eStructuralFeatures xsi:type="ecore:EAttribute" name="member" unique="false"
       
  3656         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3657       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3658         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;The struct member.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3659       </eAnnotations>
       
  3660       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3661         <details key="kind" value="attribute"/>
       
  3662         <details key="name" value="member"/>
       
  3663       </eAnnotations>
       
  3664     </eStructuralFeatures>
       
  3665     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  3666         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3667       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3668         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The property path providing the value.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3669       </eAnnotations>
       
  3670       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3671         <details key="kind" value="attribute"/>
       
  3672         <details key="name" value="property"/>
       
  3673       </eAnnotations>
       
  3674     </eStructuralFeatures>
       
  3675     <eStructuralFeatures xsi:type="ecore:EAttribute" name="suppressDefault" unique="false"
       
  3676         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3677         defaultValueLiteral="true" unsettable="true">
       
  3678       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3679         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;If true, do not emit the member initializer if the property matches the default&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;specified in the STRUCT.  If may be useful to set this to false if the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;default changes between SDK releases (to avoid branching components).&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3680       </eAnnotations>
       
  3681       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3682         <details key="kind" value="attribute"/>
       
  3683         <details key="name" value="suppressDefault"/>
       
  3684       </eAnnotations>
       
  3685     </eStructuralFeatures>
       
  3686   </eClassifiers>
       
  3687   <eClassifiers xsi:type="ecore:EClass" name="MapSimpleTypeType" eSuperTypes="#//MappingSimpleType">
       
  3688     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3689       <details key="name" value="mapSimpleType_._type"/>
       
  3690       <details key="kind" value="empty"/>
       
  3691     </eAnnotations>
       
  3692     <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" unique="false"
       
  3693         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3694       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3695         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Identifies the id for this particular kind of type mapping.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3696       </eAnnotations>
       
  3697       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3698         <details key="kind" value="attribute"/>
       
  3699         <details key="name" value="typeId"/>
       
  3700       </eAnnotations>
       
  3701     </eStructuralFeatures>
       
  3702   </eClassifiers>
       
  3703   <eClassifiers xsi:type="ecore:EClass" name="PropertiesType">
       
  3704     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3705       <details key="name" value="properties_._type"/>
       
  3706       <details key="kind" value="elementOnly"/>
       
  3707     </eAnnotations>
       
  3708     <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstractPropertyGroup"
       
  3709         unique="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  3710       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3711         <details key="kind" value="group"/>
       
  3712         <details key="name" value="abstractProperty:group"/>
       
  3713         <details key="namespace" value="##targetNamespace"/>
       
  3714       </eAnnotations>
       
  3715     </eStructuralFeatures>
       
  3716     <eStructuralFeatures xsi:type="ecore:EReference" name="abstractProperty" upperBound="-1"
       
  3717         eType="#//AbstractPropertyType" changeable="false" volatile="true" transient="true"
       
  3718         derived="true" containment="true" resolveProxies="false">
       
  3719       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3720         <details key="kind" value="element"/>
       
  3721         <details key="name" value="abstractProperty"/>
       
  3722         <details key="namespace" value="##targetNamespace"/>
       
  3723         <details key="group" value="abstractProperty:group"/>
       
  3724       </eAnnotations>
       
  3725     </eStructuralFeatures>
       
  3726   </eClassifiers>
       
  3727   <eClassifiers xsi:type="ecore:EEnum" name="PropertyDataType">
       
  3728     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3729       <details key="documentation" value="Simple, predefined property types.&#xD;&#xA;&#x9;&#x9;"/>
       
  3730     </eAnnotations>
       
  3731     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3732       <details key="name" value="propertyDataType"/>
       
  3733     </eAnnotations>
       
  3734     <eLiterals name="void">
       
  3735       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3736         <details key="documentation" value="The empty type. Do not use for real properties.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3737       </eAnnotations>
       
  3738     </eLiterals>
       
  3739     <eLiterals name="boolean" value="1">
       
  3740       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3741         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3742       </eAnnotations>
       
  3743     </eLiterals>
       
  3744     <eLiterals name="integer" value="2">
       
  3745       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3746         <details key="documentation" value="Four byte integer properties. Ranges may be constrained on property declarations.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3747       </eAnnotations>
       
  3748     </eLiterals>
       
  3749     <eLiterals name="float" value="3">
       
  3750       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3751         <details key="documentation" value="Floating point values. Ranges may be constrained on property declarations.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3752       </eAnnotations>
       
  3753     </eLiterals>
       
  3754     <eLiterals name="string" value="4">
       
  3755       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3756         <details key="documentation" value="Non-localized string literals&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3757       </eAnnotations>
       
  3758     </eLiterals>
       
  3759     <eLiterals name="localizedString" value="5">
       
  3760       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3761         <details key="documentation" value="Localized string literals. Users may enter different values for each language.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3762       </eAnnotations>
       
  3763     </eLiterals>
       
  3764     <eLiterals name="uniqueName" value="6">
       
  3765       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3766         <details key="documentation" value="Unique, non-localized string. Values are forced to be unique across the data model.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3767       </eAnnotations>
       
  3768     </eLiterals>
       
  3769   </eClassifiers>
       
  3770   <eClassifiers xsi:type="ecore:EDataType" name="PropertyDataTypeObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
       
  3771     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3772       <details key="name" value="propertyDataType:Object"/>
       
  3773       <details key="baseType" value="propertyDataType"/>
       
  3774     </eAnnotations>
       
  3775   </eClassifiers>
       
  3776   <eClassifiers xsi:type="ecore:EClass" name="PropertyOverridesType">
       
  3777     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3778       <details key="name" value="propertyOverrides_._type"/>
       
  3779       <details key="kind" value="elementOnly"/>
       
  3780     </eAnnotations>
       
  3781     <eStructuralFeatures xsi:type="ecore:EReference" name="propertyOverride" upperBound="-1"
       
  3782         eType="#//PropertyOverrideType" containment="true" resolveProxies="false">
       
  3783       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3784         <details key="kind" value="element"/>
       
  3785         <details key="name" value="propertyOverride"/>
       
  3786         <details key="namespace" value="##targetNamespace"/>
       
  3787       </eAnnotations>
       
  3788     </eStructuralFeatures>
       
  3789   </eClassifiers>
       
  3790   <eClassifiers xsi:type="ecore:EClass" name="PropertyOverrideType">
       
  3791     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3792       <details key="name" value="propertyOverride_._type"/>
       
  3793       <details key="kind" value="empty"/>
       
  3794     </eAnnotations>
       
  3795     <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" unique="false"
       
  3796         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3797       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3798         <details key="documentation" value="Override of the property category. See the description&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;in &amp;lt;abstractPropertyType&amp;gt;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3799       </eAnnotations>
       
  3800       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3801         <details key="kind" value="attribute"/>
       
  3802         <details key="name" value="category"/>
       
  3803       </eAnnotations>
       
  3804     </eStructuralFeatures>
       
  3805     <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
       
  3806         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3807       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3808         <details key="documentation" value="Override of the default value. Default values can only&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;be overriden on properties supporting default values, i.e simple properties, enums, and compound &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;properties. See the description in &amp;lt;abstractPropertyType&amp;gt; for more information.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3809       </eAnnotations>
       
  3810       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3811         <details key="kind" value="attribute"/>
       
  3812         <details key="name" value="default"/>
       
  3813       </eAnnotations>
       
  3814     </eStructuralFeatures>
       
  3815     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
       
  3816         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3817       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3818         <details key="documentation" value="The internal name for the property being overriden. It is legal for&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;this to reference a name that does not exist. This allows overrides of extension properties, which are&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;only conditionaly defined.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3819       </eAnnotations>
       
  3820       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3821         <details key="kind" value="attribute"/>
       
  3822         <details key="name" value="name"/>
       
  3823       </eAnnotations>
       
  3824     </eStructuralFeatures>
       
  3825     <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" unique="false"
       
  3826         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  3827         unsettable="true">
       
  3828       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3829         <details key="documentation" value="Override of the readOnly state. See the description&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;in &amp;lt;abstractPropertyType&amp;gt;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3830       </eAnnotations>
       
  3831       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3832         <details key="kind" value="attribute"/>
       
  3833         <details key="name" value="readOnly"/>
       
  3834       </eAnnotations>
       
  3835     </eStructuralFeatures>
       
  3836   </eClassifiers>
       
  3837   <eClassifiers xsi:type="ecore:EEnum" name="ReferenceScopeType">
       
  3838     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3839       <details key="documentation" value="Enumeration used for scoping references within the model&#xD;&#xA;&#x9;&#x9;"/>
       
  3840     </eAnnotations>
       
  3841     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3842       <details key="name" value="referenceScopeType"/>
       
  3843     </eAnnotations>
       
  3844     <eLiterals name="model">
       
  3845       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3846         <details key="documentation" value="Property can reference any valid instance in the model&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3847       </eAnnotations>
       
  3848     </eLiterals>
       
  3849     <eLiterals name="children" value="1">
       
  3850       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3851         <details key="documentation" value="Property can reference any children of the referencing instance&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3852       </eAnnotations>
       
  3853     </eLiterals>
       
  3854     <eLiterals name="siblings" value="2">
       
  3855       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3856         <details key="documentation" value="Property can reference any siblings or children of the referencing instance&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  3857       </eAnnotations>
       
  3858     </eLiterals>
       
  3859   </eClassifiers>
       
  3860   <eClassifiers xsi:type="ecore:EDataType" name="ReferenceScopeTypeObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
       
  3861     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3862       <details key="name" value="referenceScopeType:Object"/>
       
  3863       <details key="baseType" value="referenceScopeType"/>
       
  3864     </eAnnotations>
       
  3865   </eClassifiers>
       
  3866   <eClassifiers xsi:type="ecore:EClass" name="ScriptType">
       
  3867     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3868       <details key="name" value="script_._type"/>
       
  3869       <details key="kind" value="empty"/>
       
  3870     </eAnnotations>
       
  3871     <eStructuralFeatures xsi:type="ecore:EAttribute" name="file" unique="false" lowerBound="1"
       
  3872         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3873       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3874         <details key="kind" value="attribute"/>
       
  3875         <details key="name" value="file"/>
       
  3876       </eAnnotations>
       
  3877     </eStructuralFeatures>
       
  3878     <eStructuralFeatures xsi:type="ecore:EAttribute" name="prototype" unique="false"
       
  3879         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3880       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3881         <details key="kind" value="attribute"/>
       
  3882         <details key="name" value="prototype"/>
       
  3883       </eAnnotations>
       
  3884     </eStructuralFeatures>
       
  3885   </eClassifiers>
       
  3886   <eClassifiers xsi:type="ecore:EClass" name="SelectType">
       
  3887     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3888       <details key="name" value="select_._type"/>
       
  3889       <details key="kind" value="elementOnly"/>
       
  3890     </eAnnotations>
       
  3891     <eStructuralFeatures xsi:type="ecore:EReference" name="choice" upperBound="-1"
       
  3892         eType="#//ChoiceType" containment="true" resolveProxies="false">
       
  3893       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3894         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a decision in the select element.  If the &quot;value&quot; attribute&#xD;&#xA;&#x9;&#x9;matches the value obtained in the select element, the choice is matched&#xD;&#xA;&#x9;&#x9;and its mapping elements instantiated.&#xD;&#xA;&#x9;&#x9;"/>
       
  3895       </eAnnotations>
       
  3896       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3897         <details key="kind" value="element"/>
       
  3898         <details key="name" value="choice"/>
       
  3899         <details key="namespace" value="##targetNamespace"/>
       
  3900       </eAnnotations>
       
  3901     </eStructuralFeatures>
       
  3902     <eStructuralFeatures xsi:type="ecore:EAttribute" name="attribute" unique="false"
       
  3903         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3904       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3905         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Specifies the attribute value to test.  Results in blank (&quot;&quot;) or the value of the attribute to test.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3906       </eAnnotations>
       
  3907       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3908         <details key="kind" value="attribute"/>
       
  3909         <details key="name" value="attribute"/>
       
  3910       </eAnnotations>
       
  3911     </eStructuralFeatures>
       
  3912     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComponentInstanceOf"
       
  3913         unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3914       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3915         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Specifies the property path to test for existence, e.g., whether the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;property may be set or queried.  This is independent of whether the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;property is actually set.  The attribute takes a property path (e.g. &quot;flag&quot;, &quot;[parent].flag&quot;, ...)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Results in a 'true' or 'false' value to test. &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3916       </eAnnotations>
       
  3917       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3918         <details key="kind" value="attribute"/>
       
  3919         <details key="name" value="isComponentInstanceOf"/>
       
  3920       </eAnnotations>
       
  3921     </eStructuralFeatures>
       
  3922     <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" unique="false"
       
  3923         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3924       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3925         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Specifies the property path to test.  (E.g. &quot;flag&quot;, &quot;[parent].flag&quot;, ...)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Results in an error if the property does not exist, else the string version of the property to test.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3926       </eAnnotations>
       
  3927       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3928         <details key="kind" value="attribute"/>
       
  3929         <details key="name" value="property"/>
       
  3930       </eAnnotations>
       
  3931     </eStructuralFeatures>
       
  3932     <eStructuralFeatures xsi:type="ecore:EAttribute" name="propertyExists" unique="false"
       
  3933         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3934       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3935         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Specifies the property path to test for existence.  (E.g. &quot;flag&quot;, &quot;[parent].flag&quot;, ...)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Results in a 'true' or 'false' value to test. &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3936       </eAnnotations>
       
  3937       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3938         <details key="kind" value="attribute"/>
       
  3939         <details key="name" value="propertyExists"/>
       
  3940       </eAnnotations>
       
  3941     </eStructuralFeatures>
       
  3942   </eClassifiers>
       
  3943   <eClassifiers xsi:type="ecore:EClass" name="SimplePropertyType" eSuperTypes="#//AbstractPropertyType">
       
  3944     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3945       <details key="documentation" value="Concrete type used for basic properties.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  3946     </eAnnotations>
       
  3947     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3948       <details key="name" value="simplePropertyType"/>
       
  3949       <details key="kind" value="empty"/>
       
  3950     </eAnnotations>
       
  3951     <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
       
  3952         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3953       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3954         <details key="documentation" value="A default value for the property. Must be a string convertible to the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;particular property type.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3955       </eAnnotations>
       
  3956       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3957         <details key="kind" value="attribute"/>
       
  3958         <details key="name" value="default"/>
       
  3959       </eAnnotations>
       
  3960     </eStructuralFeatures>
       
  3961     <eStructuralFeatures xsi:type="ecore:EAttribute" name="extendWithEnum" unique="false"
       
  3962         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3963       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3964         <details key="documentation" value="Optional extension of the enum with the enums provided by an enimPropertyDeclaration.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;If the value of the property matches any in an extension enumProperty's 'value' attribute, the 'displayValue' will be shown&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;as the current value in the property sheet.  Additionally, the editor for the value (if not overridden with&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;a custom editorClass) will be a combo that allows typing in the literal value or selecting one of &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;the extended enums.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;The 'value' of each of the extending enums must match the type being extended, or else the attempt to set the value&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;to that enum will fail.  Note that this means that it is useless to extend booleans (since all extensions&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;must map to 'true' or 'false'). &#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3965       </eAnnotations>
       
  3966       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3967         <details key="kind" value="attribute"/>
       
  3968         <details key="name" value="extendWithEnum"/>
       
  3969       </eAnnotations>
       
  3970     </eStructuralFeatures>
       
  3971     <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" unique="false"
       
  3972         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3973       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3974         <details key="documentation" value="Optional maximum value constraint. Applies only to integers and floats.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3975       </eAnnotations>
       
  3976       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3977         <details key="kind" value="attribute"/>
       
  3978         <details key="name" value="maxValue"/>
       
  3979       </eAnnotations>
       
  3980     </eStructuralFeatures>
       
  3981     <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" unique="false"
       
  3982         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  3983       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3984         <details key="documentation" value="Optional minimum value constraint. Applies only to integers and floats.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3985       </eAnnotations>
       
  3986       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3987         <details key="kind" value="attribute"/>
       
  3988         <details key="name" value="minValue"/>
       
  3989       </eAnnotations>
       
  3990     </eStructuralFeatures>
       
  3991     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
       
  3992         eType="#//PropertyDataType" defaultValueLiteral="void" unsettable="true">
       
  3993       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  3994         <details key="documentation" value="Selects the data type of the property.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  3995       </eAnnotations>
       
  3996       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  3997         <details key="kind" value="attribute"/>
       
  3998         <details key="name" value="type"/>
       
  3999       </eAnnotations>
       
  4000     </eStructuralFeatures>
       
  4001   </eClassifiers>
       
  4002   <eClassifiers xsi:type="ecore:EClass" name="SourceGenType">
       
  4003     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4004       <details key="name" value="sourceGen_._type"/>
       
  4005       <details key="kind" value="elementOnly"/>
       
  4006     </eAnnotations>
       
  4007     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  4008         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  4009       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4010         <details key="kind" value="group"/>
       
  4011         <details key="name" value="group:0"/>
       
  4012       </eAnnotations>
       
  4013     </eStructuralFeatures>
       
  4014     <eStructuralFeatures xsi:type="ecore:EReference" name="defineLocation" upperBound="-1"
       
  4015         eType="#//DefineLocationType" volatile="true" transient="true" derived="true"
       
  4016         containment="true" resolveProxies="false">
       
  4017       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4018         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element defines a location in source, such as a function in the main &#xD;&#xA;&#x9;&#x9;file or a region of text in a class declaration.  &#xD;&#xA;&#x9;&#x9;This is a slight misnomer as this element does not by its presence realize&#xD;&#xA;&#x9;&#x9;the location.  Only when a contribution references&#xD;&#xA;&#x9;&#x9;location id (or post 1.1: when realize=&quot;true&quot; is used)&#xD;&#xA;&#x9;&#x9;will the location be added to source.&#xD;&#xA;&#x9;&#x9;"/>
       
  4019       </eAnnotations>
       
  4020       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4021         <details key="kind" value="element"/>
       
  4022         <details key="name" value="defineLocation"/>
       
  4023         <details key="namespace" value="##targetNamespace"/>
       
  4024         <details key="group" value="#group:0"/>
       
  4025       </eAnnotations>
       
  4026     </eStructuralFeatures>
       
  4027     <eStructuralFeatures xsi:type="ecore:EReference" name="template" upperBound="-1"
       
  4028         eType="#//TemplateType" volatile="true" transient="true" derived="true" containment="true"
       
  4029         resolveProxies="false">
       
  4030       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4031         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a contribution.  The text element is template-expanded &#xD;&#xA;&#x9;&#x9;with ${ ... } expression escapes and may contain Javascript in &amp;lt;% ... %&amp;gt; sections.&#xD;&#xA;&#x9;&#x9;"/>
       
  4032       </eAnnotations>
       
  4033       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4034         <details key="kind" value="element"/>
       
  4035         <details key="name" value="template"/>
       
  4036         <details key="namespace" value="##targetNamespace"/>
       
  4037         <details key="group" value="#group:0"/>
       
  4038       </eAnnotations>
       
  4039     </eStructuralFeatures>
       
  4040     <eStructuralFeatures xsi:type="ecore:EReference" name="templateGroup" upperBound="-1"
       
  4041         eType="#//TemplateGroupType" volatile="true" transient="true" derived="true"
       
  4042         containment="true" resolveProxies="false">
       
  4043       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4044         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;A logical grouping of templates and locations.  Attributes&#xD;&#xA;&#x9;&#x9;present on the group are automatically applied to children.&#xD;&#xA;&#x9;&#x9;Groups may not be nested.&#xD;&#xA;&#x9;&#x9;"/>
       
  4045       </eAnnotations>
       
  4046       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4047         <details key="kind" value="element"/>
       
  4048         <details key="name" value="templateGroup"/>
       
  4049         <details key="namespace" value="##targetNamespace"/>
       
  4050         <details key="group" value="#group:0"/>
       
  4051       </eAnnotations>
       
  4052     </eStructuralFeatures>
       
  4053     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplate" upperBound="-1"
       
  4054         eType="#//UseTemplateType" volatile="true" transient="true" derived="true"
       
  4055         containment="true" resolveProxies="false">
       
  4056       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4057         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template from the base by id.&#xD;&#xA;&#x9;&#x9;"/>
       
  4058       </eAnnotations>
       
  4059       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4060         <details key="kind" value="element"/>
       
  4061         <details key="name" value="useTemplate"/>
       
  4062         <details key="namespace" value="##targetNamespace"/>
       
  4063         <details key="group" value="#group:0"/>
       
  4064       </eAnnotations>
       
  4065     </eStructuralFeatures>
       
  4066     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplateGroup" upperBound="-1"
       
  4067         eType="#//UseTemplateGroupType" volatile="true" transient="true" derived="true"
       
  4068         containment="true" resolveProxies="false">
       
  4069       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4070         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template group from the base by id.&#xD;&#xA;&#x9;&#x9;If no subelements are specified, all the named templates (those with ids)&#xD;&#xA;&#x9;&#x9;are inherited.  No templates without ids are inherited.&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;If subelements are specified, these describe the specific templates&#xD;&#xA;&#x9;&#x9;to inherit from the group.  The id &quot;*&quot; may be used to bring in all&#xD;&#xA;&#x9;&#x9;named templates.&#xD;&#xA;&#x9;&#x9;"/>
       
  4071       </eAnnotations>
       
  4072       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4073         <details key="kind" value="element"/>
       
  4074         <details key="name" value="useTemplateGroup"/>
       
  4075         <details key="namespace" value="##targetNamespace"/>
       
  4076         <details key="group" value="#group:0"/>
       
  4077       </eAnnotations>
       
  4078     </eStructuralFeatures>
       
  4079     <eStructuralFeatures xsi:type="ecore:EReference" name="inline" upperBound="-1"
       
  4080         eType="#//InlineType" volatile="true" transient="true" derived="true" containment="true"
       
  4081         resolveProxies="false">
       
  4082       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4083         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Provide Javascript in-line with templates and other sourceGen elements.&#xD;&#xA;&#x9;&#x9;Be sure to supply a &quot;forms&quot; attribute, otherwise the code may execute multiple times&#xD;&#xA;&#x9;&#x9;during the source generation contribution-gathering phase.&#xD;&#xA;&#x9;&#x9;"/>
       
  4084       </eAnnotations>
       
  4085       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4086         <details key="kind" value="element"/>
       
  4087         <details key="name" value="inline"/>
       
  4088         <details key="namespace" value="##targetNamespace"/>
       
  4089         <details key="group" value="#group:0"/>
       
  4090       </eAnnotations>
       
  4091     </eStructuralFeatures>
       
  4092     <eStructuralFeatures xsi:type="ecore:EReference" name="script" upperBound="-1"
       
  4093         eType="#//ScriptType" volatile="true" transient="true" derived="true" containment="true"
       
  4094         resolveProxies="false">
       
  4095       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4096         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Define a reference to an interface implemented in Javascript.&#xD;&#xA;&#x9;&#x9;"/>
       
  4097       </eAnnotations>
       
  4098       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4099         <details key="kind" value="element"/>
       
  4100         <details key="name" value="script"/>
       
  4101         <details key="namespace" value="##targetNamespace"/>
       
  4102         <details key="group" value="#group:0"/>
       
  4103       </eAnnotations>
       
  4104     </eStructuralFeatures>
       
  4105     <eStructuralFeatures xsi:type="ecore:EReference" name="defineMacro" upperBound="-1"
       
  4106         eType="#//DefineMacroType" volatile="true" transient="true" derived="true"
       
  4107         containment="true" resolveProxies="false">
       
  4108       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4109         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Added post 1.1.  &#xD;&#xA;&#x9;&#x9;This element defines a macro consisting of a set of templates &#xD;&#xA;&#x9;&#x9;and inlines which may be variable-substituted.&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;If a given defineMacro imports multiple arguments&#xD;&#xA;&#x9;&#x9;of the same name, then they must be explicitly redefined,&#xD;&#xA;&#x9;&#x9;to resolve any ambiguities about the default value.  &#xD;&#xA;&#x9;&#x9;"/>
       
  4110       </eAnnotations>
       
  4111       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4112         <details key="kind" value="element"/>
       
  4113         <details key="name" value="defineMacro"/>
       
  4114         <details key="namespace" value="##targetNamespace"/>
       
  4115         <details key="group" value="#group:0"/>
       
  4116       </eAnnotations>
       
  4117     </eStructuralFeatures>
       
  4118     <eStructuralFeatures xsi:type="ecore:EReference" name="expandMacro" upperBound="-1"
       
  4119         eType="#//ExpandMacroType" volatile="true" transient="true" derived="true"
       
  4120         containment="true" resolveProxies="false">
       
  4121       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4122         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Expands a given macro into the sourceGen of the caller.  &#xD;&#xA;&#x9;&#x9;This has the same effect as inserting the same templates and inlines &#xD;&#xA;&#x9;&#x9;from the macro's definition at the point of call.  &#xD;&#xA;&#x9;&#x9;Variable references from those templates and inlines&#xD;&#xA;&#x9;&#x9;are substituted with the values provided in attributes &#xD;&#xA;&#x9;&#x9;(e.g. variableName=&quot;value&quot;) or expandArgument child elements.  &#xD;&#xA;&#x9;&#x9;The latter may be preferred for cases where code is substituted,&#xD;&#xA;&#x9;&#x9;so the formatting may be retained.&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;As a special case, variable references may have modifiers to&#xD;&#xA;&#x9;&#x9;modify the formatting of a variable when it is expanded.  &#xD;&#xA;&#x9;&#x9;Modifiers are appended&#xD;&#xA;&#x9;&#x9;to the variable name as in: $(varName::modifier).  &#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Currently supported modifiers are all for tweaking canonical&#xD;&#xA;&#x9;&#x9;function argument lists, which match the format of &#xD;&#xA;&#x9;&#x9;declaration, with spaces, argument names, default values, etc:&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;ul xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-declaration-args: identity&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-definition-args: removes default argument values&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-location-args: removes argument names, default arguments, and spaces&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&lt;/ul>&#xD;&#xA;&#x9;&#x9;"/>
       
  4123       </eAnnotations>
       
  4124       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4125         <details key="kind" value="element"/>
       
  4126         <details key="name" value="expandMacro"/>
       
  4127         <details key="namespace" value="##targetNamespace"/>
       
  4128         <details key="group" value="#group:0"/>
       
  4129       </eAnnotations>
       
  4130     </eStructuralFeatures>
       
  4131     <eStructuralFeatures xsi:type="ecore:EAttribute" name="debug" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean"
       
  4132         defaultValueLiteral="false" unsettable="true">
       
  4133       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4134         <details key="kind" value="attribute"/>
       
  4135         <details key="name" value="debug"/>
       
  4136       </eAnnotations>
       
  4137     </eStructuralFeatures>
       
  4138     <eStructuralFeatures xsi:type="ecore:EAttribute" name="forms" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4139       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4140         <details key="kind" value="attribute"/>
       
  4141         <details key="name" value="forms"/>
       
  4142       </eAnnotations>
       
  4143     </eStructuralFeatures>
       
  4144   </eClassifiers>
       
  4145   <eClassifiers xsi:type="ecore:EClass" name="SourceMappingType">
       
  4146     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4147       <details key="name" value="sourceMapping_._type"/>
       
  4148       <details key="kind" value="elementOnly"/>
       
  4149     </eAnnotations>
       
  4150     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  4151         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  4152       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4153         <details key="kind" value="group"/>
       
  4154         <details key="name" value="group:0"/>
       
  4155       </eAnnotations>
       
  4156     </eStructuralFeatures>
       
  4157     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResource" upperBound="-1"
       
  4158         eType="#//MapResourceType" volatile="true" transient="true" derived="true"
       
  4159         containment="true" resolveProxies="false">
       
  4160       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4161         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an instance to a RESOURCE.&#xD;&#xA;&#x9;&#x9;"/>
       
  4162       </eAnnotations>
       
  4163       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4164         <details key="kind" value="element"/>
       
  4165         <details key="name" value="mapResource"/>
       
  4166         <details key="namespace" value="##targetNamespace"/>
       
  4167         <details key="group" value="#group:0"/>
       
  4168       </eAnnotations>
       
  4169     </eStructuralFeatures>
       
  4170     <eStructuralFeatures xsi:type="ecore:EReference" name="select" upperBound="-1"
       
  4171         eType="#//SelectType" volatile="true" transient="true" derived="true" containment="true"
       
  4172         resolveProxies="false">
       
  4173       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4174         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element encapsulates choice elements which allow conditional&#xD;&#xA;&#x9;&#x9;source mapping.  One choice must match or an error results (you can&#xD;&#xA;&#x9;&#x9;use an empty choice to match the default case if necessary).  Only&#xD;&#xA;&#x9;&#x9;the first matching choice is considered.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9; for the select statement.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;"/>
       
  4175       </eAnnotations>
       
  4176       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4177         <details key="kind" value="element"/>
       
  4178         <details key="name" value="select"/>
       
  4179         <details key="namespace" value="##targetNamespace"/>
       
  4180         <details key="group" value="#group:0"/>
       
  4181       </eAnnotations>
       
  4182     </eStructuralFeatures>
       
  4183   </eClassifiers>
       
  4184   <eClassifiers xsi:type="ecore:EClass" name="SourceTypeMappingType">
       
  4185     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4186       <details key="name" value="sourceTypeMapping_._type"/>
       
  4187       <details key="kind" value="elementOnly"/>
       
  4188     </eAnnotations>
       
  4189     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  4190         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  4191       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4192         <details key="kind" value="group"/>
       
  4193         <details key="name" value="group:0"/>
       
  4194       </eAnnotations>
       
  4195     </eStructuralFeatures>
       
  4196     <eStructuralFeatures xsi:type="ecore:EReference" name="mapResourceType" upperBound="-1"
       
  4197         eType="#//MapResourceTypeType" volatile="true" transient="true" derived="true"
       
  4198         containment="true" resolveProxies="false">
       
  4199       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4200         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property to a RESOURCE expression or statement.&#xD;&#xA;&#x9;&#x9;"/>
       
  4201       </eAnnotations>
       
  4202       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4203         <details key="kind" value="element"/>
       
  4204         <details key="name" value="mapResourceType"/>
       
  4205         <details key="namespace" value="##targetNamespace"/>
       
  4206         <details key="group" value="#group:0"/>
       
  4207       </eAnnotations>
       
  4208     </eStructuralFeatures>
       
  4209     <eStructuralFeatures xsi:type="ecore:EReference" name="mapEnumType" upperBound="-1"
       
  4210         eType="#//MapEnumTypeType" volatile="true" transient="true" derived="true"
       
  4211         containment="true" resolveProxies="false">
       
  4212       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4213         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map an enumerator to RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  4214       </eAnnotations>
       
  4215       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4216         <details key="kind" value="element"/>
       
  4217         <details key="name" value="mapEnumType"/>
       
  4218         <details key="namespace" value="##targetNamespace"/>
       
  4219         <details key="group" value="#group:0"/>
       
  4220       </eAnnotations>
       
  4221     </eStructuralFeatures>
       
  4222     <eStructuralFeatures xsi:type="ecore:EReference" name="mapSimpleType" upperBound="-1"
       
  4223         eType="#//MapSimpleTypeType" volatile="true" transient="true" derived="true"
       
  4224         containment="true" resolveProxies="false">
       
  4225       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4226         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple value.&#xD;&#xA;&#x9;&#x9;"/>
       
  4227       </eAnnotations>
       
  4228       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4229         <details key="kind" value="element"/>
       
  4230         <details key="name" value="mapSimpleType"/>
       
  4231         <details key="namespace" value="##targetNamespace"/>
       
  4232         <details key="group" value="#group:0"/>
       
  4233       </eAnnotations>
       
  4234     </eStructuralFeatures>
       
  4235     <eStructuralFeatures xsi:type="ecore:EReference" name="mapFixedType" upperBound="-1"
       
  4236         eType="#//MapFixedTypeType" volatile="true" transient="true" derived="true"
       
  4237         containment="true" resolveProxies="false">
       
  4238       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4239         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a fixed value.&#xD;&#xA;&#x9;&#x9;"/>
       
  4240       </eAnnotations>
       
  4241       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4242         <details key="kind" value="element"/>
       
  4243         <details key="name" value="mapFixedType"/>
       
  4244         <details key="namespace" value="##targetNamespace"/>
       
  4245         <details key="group" value="#group:0"/>
       
  4246       </eAnnotations>
       
  4247     </eStructuralFeatures>
       
  4248     <eStructuralFeatures xsi:type="ecore:EReference" name="mapBitmaskType" upperBound="-1"
       
  4249         eType="#//MapBitmaskTypeType" volatile="true" transient="true" derived="true"
       
  4250         containment="true" resolveProxies="false">
       
  4251       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4252         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a set of boolean properties to a bitmask expression in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  4253       </eAnnotations>
       
  4254       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4255         <details key="kind" value="element"/>
       
  4256         <details key="name" value="mapBitmaskType"/>
       
  4257         <details key="namespace" value="##targetNamespace"/>
       
  4258         <details key="group" value="#group:0"/>
       
  4259       </eAnnotations>
       
  4260     </eStructuralFeatures>
       
  4261     <eStructuralFeatures xsi:type="ecore:EReference" name="mapIdentifierType" upperBound="-1"
       
  4262         eType="#//MapIdentifierTypeType" volatile="true" transient="true" derived="true"
       
  4263         containment="true" resolveProxies="false">
       
  4264       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4265         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a simple property to a literal (identifier) in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  4266       </eAnnotations>
       
  4267       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4268         <details key="kind" value="element"/>
       
  4269         <details key="name" value="mapIdentifierType"/>
       
  4270         <details key="namespace" value="##targetNamespace"/>
       
  4271         <details key="group" value="#group:0"/>
       
  4272       </eAnnotations>
       
  4273     </eStructuralFeatures>
       
  4274     <eStructuralFeatures xsi:type="ecore:EReference" name="mapReferenceType" upperBound="-1"
       
  4275         eType="#//MapReferenceTypeType" volatile="true" transient="true" derived="true"
       
  4276         containment="true" resolveProxies="false">
       
  4277       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4278         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a reference property to resources the instance generates.&#xD;&#xA;&#x9;&#x9;"/>
       
  4279       </eAnnotations>
       
  4280       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4281         <details key="kind" value="element"/>
       
  4282         <details key="name" value="mapReferenceType"/>
       
  4283         <details key="namespace" value="##targetNamespace"/>
       
  4284         <details key="group" value="#group:0"/>
       
  4285       </eAnnotations>
       
  4286     </eStructuralFeatures>
       
  4287     <eStructuralFeatures xsi:type="ecore:EReference" name="mapArrayType" upperBound="-1"
       
  4288         eType="#//MapArrayTypeType" volatile="true" transient="true" derived="true"
       
  4289         containment="true" resolveProxies="false">
       
  4290       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4291         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Map a property or child list to an array in RSS.&#xD;&#xA;&#x9;&#x9;"/>
       
  4292       </eAnnotations>
       
  4293       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4294         <details key="kind" value="element"/>
       
  4295         <details key="name" value="mapArrayType"/>
       
  4296         <details key="namespace" value="##targetNamespace"/>
       
  4297         <details key="group" value="#group:0"/>
       
  4298       </eAnnotations>
       
  4299     </eStructuralFeatures>
       
  4300     <eStructuralFeatures xsi:type="ecore:EReference" name="select" upperBound="-1"
       
  4301         eType="#//SelectType" volatile="true" transient="true" derived="true" containment="true"
       
  4302         resolveProxies="false">
       
  4303       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4304         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element encapsulates choice elements which allow conditional&#xD;&#xA;&#x9;&#x9;source mapping.  One choice must match or an error results (you can&#xD;&#xA;&#x9;&#x9;use an empty choice to match the default case if necessary).  Only&#xD;&#xA;&#x9;&#x9;the first matching choice is considered.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Only use one attribute (property, attribute, propertyExists, isComponentInstanceOf)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9; for the select statement.&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;"/>
       
  4305       </eAnnotations>
       
  4306       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4307         <details key="kind" value="element"/>
       
  4308         <details key="name" value="select"/>
       
  4309         <details key="namespace" value="##targetNamespace"/>
       
  4310         <details key="group" value="#group:0"/>
       
  4311       </eAnnotations>
       
  4312     </eStructuralFeatures>
       
  4313   </eClassifiers>
       
  4314   <eClassifiers xsi:type="ecore:EEnum" name="StandaloneType">
       
  4315     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4316       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;The selector for controlling standalone resource mapping.&#xD;&#xA;&#x9;&#x9;"/>
       
  4317     </eAnnotations>
       
  4318     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4319       <details key="name" value="standaloneType"/>
       
  4320     </eAnnotations>
       
  4321     <eLiterals name="false">
       
  4322       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4323         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Deprecated value corresponding to &quot;default&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4324       </eAnnotations>
       
  4325     </eLiterals>
       
  4326     <eLiterals name="true" value="1">
       
  4327       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4328         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Depecated value corresponding to &quot;always&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4329       </eAnnotations>
       
  4330     </eLiterals>
       
  4331     <eLiterals name="never" value="2">
       
  4332       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4333         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Never emit the resource by itself.  Only emit it if another resource&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;references it.  By using this, a component may generate two forms of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;resource (with different resource ids) and let a container or reference&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;select which resource it wants, without also generating the unused variant.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4334       </eAnnotations>
       
  4335     </eLiterals>
       
  4336     <eLiterals name="default" value="3">
       
  4337       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4338         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Emit the resource by itself if it is not generated as an expression or&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;by a LINK or LLINK.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4339       </eAnnotations>
       
  4340     </eLiterals>
       
  4341     <eLiterals name="always" value="4">
       
  4342       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4343         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Always emit the resource by itself, even if already generated as an expression.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4344       </eAnnotations>
       
  4345     </eLiterals>
       
  4346   </eClassifiers>
       
  4347   <eClassifiers xsi:type="ecore:EDataType" name="StandaloneTypeObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
       
  4348     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4349       <details key="name" value="standaloneType:Object"/>
       
  4350       <details key="baseType" value="standaloneType"/>
       
  4351     </eAnnotations>
       
  4352   </eClassifiers>
       
  4353   <eClassifiers xsi:type="ecore:EClass" name="SymbianType">
       
  4354     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4355       <details key="name" value="symbian_._type"/>
       
  4356       <details key="kind" value="empty"/>
       
  4357     </eAnnotations>
       
  4358     <eStructuralFeatures xsi:type="ecore:EAttribute" name="classHelpTopic" unique="false"
       
  4359         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4360       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4361         <details key="documentation" value="A link to help information for this C++ class&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4362       </eAnnotations>
       
  4363       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4364         <details key="kind" value="attribute"/>
       
  4365         <details key="name" value="classHelpTopic"/>
       
  4366       </eAnnotations>
       
  4367     </eStructuralFeatures>
       
  4368     <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" unique="false"
       
  4369         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4370       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4371         <details key="documentation" value="The C++ class name corresponding to this component, if any. Not used for source code generation,&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;but is displayed in the component palette.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4372       </eAnnotations>
       
  4373       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4374         <details key="kind" value="attribute"/>
       
  4375         <details key="name" value="className"/>
       
  4376       </eAnnotations>
       
  4377     </eStructuralFeatures>
       
  4378     <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxSDKVersion" unique="false"
       
  4379         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4380       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4381         <details key="documentation" value="A version number indicating the maximum SDK version with which the component is&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;compatible. For example, if the value is 2.8 the component will be selected for use with a 2.8 SDK but not 3.0.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Uses OSGI style version strings, composed of up to 3 integers and a text qualifier, of the form &amp;lt;major version&amp;gt;.&amp;lt;minor version&amp;gt;.&amp;lt;micro version&amp;gt;.&amp;lt;qualifier&amp;gt;.&#xD;&#xA;&#x9;&#x9;&#x9;    See http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Version.html for further information.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
       
  4382       </eAnnotations>
       
  4383       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4384         <details key="kind" value="attribute"/>
       
  4385         <details key="name" value="maxSDKVersion"/>
       
  4386       </eAnnotations>
       
  4387     </eStructuralFeatures>
       
  4388     <eStructuralFeatures xsi:type="ecore:EAttribute" name="minSDKVersion" unique="false"
       
  4389         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4390       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4391         <details key="documentation" value="A version number indicating the lowest SDK version with which the component is&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;compatible. For example, if the value is 2.8 the component will be selected for use with a 2.8 SDK but not 2.6.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Uses OSGI style version strings, composed of up to 3 integers and a text qualifier, of the form &amp;lt;major version&amp;gt;.&amp;lt;minor version&amp;gt;.&amp;lt;micro version&amp;gt;.&amp;lt;qualifier&amp;gt;.&#xD;&#xA;&#x9;&#x9;&#x9;    See http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/reference/osgi/org/osgi/framework/Version.html for further information.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4392       </eAnnotations>
       
  4393       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4394         <details key="kind" value="attribute"/>
       
  4395         <details key="name" value="minSDKVersion"/>
       
  4396       </eAnnotations>
       
  4397     </eStructuralFeatures>
       
  4398     <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceHelpTopic" unique="false"
       
  4399         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4400       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4401         <details key="documentation" value="A link to help information for the resource&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4402       </eAnnotations>
       
  4403       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4404         <details key="kind" value="attribute"/>
       
  4405         <details key="name" value="resourceHelpTopic"/>
       
  4406       </eAnnotations>
       
  4407     </eStructuralFeatures>
       
  4408     <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceType" unique="false"
       
  4409         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4410       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4411         <details key="documentation" value="The Symbian RSS resource type for this component, if any&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4412       </eAnnotations>
       
  4413       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4414         <details key="kind" value="attribute"/>
       
  4415         <details key="name" value="resourceType"/>
       
  4416       </eAnnotations>
       
  4417     </eStructuralFeatures>
       
  4418     <eStructuralFeatures xsi:type="ecore:EAttribute" name="sdkName" unique="false"
       
  4419         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//AnySimpleType">
       
  4420       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4421         <details key="documentation" value="This value identifies the Symbian OS variant with which the component is compatible.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Currently the only supported value is &quot;com.nokia.serie60&quot;.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;"/>
       
  4422       </eAnnotations>
       
  4423       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4424         <details key="kind" value="attribute"/>
       
  4425         <details key="name" value="sdkName"/>
       
  4426       </eAnnotations>
       
  4427     </eStructuralFeatures>
       
  4428   </eClassifiers>
       
  4429   <eClassifiers xsi:type="ecore:EClass" name="TemplateGroupType" eSuperTypes="#//ConditionalSourceGen">
       
  4430     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4431       <details key="name" value="templateGroup_._type"/>
       
  4432       <details key="kind" value="elementOnly"/>
       
  4433     </eAnnotations>
       
  4434     <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
       
  4435         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
       
  4436       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4437         <details key="kind" value="group"/>
       
  4438         <details key="name" value="group:3"/>
       
  4439       </eAnnotations>
       
  4440     </eStructuralFeatures>
       
  4441     <eStructuralFeatures xsi:type="ecore:EReference" name="defineLocation" upperBound="-1"
       
  4442         eType="#//DefineLocationType" volatile="true" transient="true" derived="true"
       
  4443         containment="true" resolveProxies="false">
       
  4444       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4445         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This element defines a location in source, such as a function in the main &#xD;&#xA;&#x9;&#x9;file or a region of text in a class declaration.  &#xD;&#xA;&#x9;&#x9;This is a slight misnomer as this element does not by its presence realize&#xD;&#xA;&#x9;&#x9;the location.  Only when a contribution references&#xD;&#xA;&#x9;&#x9;location id (or post 1.1: when realize=&quot;true&quot; is used)&#xD;&#xA;&#x9;&#x9;will the location be added to source.&#xD;&#xA;&#x9;&#x9;"/>
       
  4446       </eAnnotations>
       
  4447       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4448         <details key="kind" value="element"/>
       
  4449         <details key="name" value="defineLocation"/>
       
  4450         <details key="namespace" value="##targetNamespace"/>
       
  4451         <details key="group" value="#group:3"/>
       
  4452       </eAnnotations>
       
  4453     </eStructuralFeatures>
       
  4454     <eStructuralFeatures xsi:type="ecore:EReference" name="template" upperBound="-1"
       
  4455         eType="#//TemplateType" volatile="true" transient="true" derived="true" containment="true"
       
  4456         resolveProxies="false">
       
  4457       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4458         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;This defines a contribution.  The text element is template-expanded &#xD;&#xA;&#x9;&#x9;with ${ ... } expression escapes and may contain Javascript in &amp;lt;% ... %&amp;gt; sections.&#xD;&#xA;&#x9;&#x9;"/>
       
  4459       </eAnnotations>
       
  4460       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4461         <details key="kind" value="element"/>
       
  4462         <details key="name" value="template"/>
       
  4463         <details key="namespace" value="##targetNamespace"/>
       
  4464         <details key="group" value="#group:3"/>
       
  4465       </eAnnotations>
       
  4466     </eStructuralFeatures>
       
  4467     <eStructuralFeatures xsi:type="ecore:EReference" name="inline" upperBound="-1"
       
  4468         eType="#//InlineType" volatile="true" transient="true" derived="true" containment="true"
       
  4469         resolveProxies="false">
       
  4470       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4471         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Provide Javascript in-line with templates and other sourceGen elements.&#xD;&#xA;&#x9;&#x9;Be sure to supply a &quot;forms&quot; attribute, otherwise the code may execute multiple times&#xD;&#xA;&#x9;&#x9;during the source generation contribution-gathering phase.&#xD;&#xA;&#x9;&#x9;"/>
       
  4472       </eAnnotations>
       
  4473       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4474         <details key="kind" value="element"/>
       
  4475         <details key="name" value="inline"/>
       
  4476         <details key="namespace" value="##targetNamespace"/>
       
  4477         <details key="group" value="#group:3"/>
       
  4478       </eAnnotations>
       
  4479     </eStructuralFeatures>
       
  4480     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplate" upperBound="-1"
       
  4481         eType="#//UseTemplateType" volatile="true" transient="true" derived="true"
       
  4482         containment="true" resolveProxies="false">
       
  4483       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4484         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template from the base by id.&#xD;&#xA;&#x9;&#x9;"/>
       
  4485       </eAnnotations>
       
  4486       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4487         <details key="kind" value="element"/>
       
  4488         <details key="name" value="useTemplate"/>
       
  4489         <details key="namespace" value="##targetNamespace"/>
       
  4490         <details key="group" value="#group:3"/>
       
  4491       </eAnnotations>
       
  4492     </eStructuralFeatures>
       
  4493     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplateGroup" upperBound="-1"
       
  4494         eType="#//UseTemplateGroupType" volatile="true" transient="true" derived="true"
       
  4495         containment="true" resolveProxies="false">
       
  4496       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4497         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template group from the base by id.&#xD;&#xA;&#x9;&#x9;If no subelements are specified, all the named templates (those with ids)&#xD;&#xA;&#x9;&#x9;are inherited.  No templates without ids are inherited.&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;If subelements are specified, these describe the specific templates&#xD;&#xA;&#x9;&#x9;to inherit from the group.  The id &quot;*&quot; may be used to bring in all&#xD;&#xA;&#x9;&#x9;named templates.&#xD;&#xA;&#x9;&#x9;"/>
       
  4498       </eAnnotations>
       
  4499       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4500         <details key="kind" value="element"/>
       
  4501         <details key="name" value="useTemplateGroup"/>
       
  4502         <details key="namespace" value="##targetNamespace"/>
       
  4503         <details key="group" value="#group:3"/>
       
  4504       </eAnnotations>
       
  4505     </eStructuralFeatures>
       
  4506     <eStructuralFeatures xsi:type="ecore:EReference" name="expandMacro" upperBound="-1"
       
  4507         eType="#//ExpandMacroType" volatile="true" transient="true" derived="true"
       
  4508         containment="true" resolveProxies="false">
       
  4509       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4510         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Added post 1.1.&#xD;&#xA;&#x9;&#x9;Expands a given macro into the sourceGen of the caller.  &#xD;&#xA;&#x9;&#x9;This has the same effect as inserting the same templates and inlines &#xD;&#xA;&#x9;&#x9;from the macro's definition at the point of call.  &#xD;&#xA;&#x9;&#x9;Variable references from those templates and inlines&#xD;&#xA;&#x9;&#x9;are substituted with the values provided in attributes &#xD;&#xA;&#x9;&#x9;(e.g. variableName=&quot;value&quot;) or expandArgument child elements.  &#xD;&#xA;&#x9;&#x9;The latter may be preferred for cases where code is substituted,&#xD;&#xA;&#x9;&#x9;so the formatting may be retained.&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;As a special case, variable references may have modifiers to&#xD;&#xA;&#x9;&#x9;modify the formatting of a variable when it is expanded.  &#xD;&#xA;&#x9;&#x9;Modifiers are appended&#xD;&#xA;&#x9;&#x9;to the variable name as in: $(varName::modifier).  &#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;p xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;Currently supported modifiers are all for tweaking canonical&#xD;&#xA;&#x9;&#x9;function argument lists, which match the format of &#xD;&#xA;&#x9;&#x9;declaration, with spaces, argument names, default values, etc:&#xD;&#xA;&#x9;&#x9;&lt;/p>&#xD;&#xA;&#x9;&#x9;&lt;ul xmlns=&quot;http://www.nokia.com/sdt/emf/component&quot;>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-declaration-args: identity&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-definition-args: removes default argument values&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&#x9;&lt;li>as-function-location-args: removes argument names, default arguments, and spaces&#xD;&#xA;&#x9;&#x9;&#x9;&lt;/li>&#xD;&#xA;&#x9;&#x9;&lt;/ul>&#xD;&#xA;&#x9;&#x9;"/>
       
  4511       </eAnnotations>
       
  4512       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4513         <details key="kind" value="element"/>
       
  4514         <details key="name" value="expandMacro"/>
       
  4515         <details key="namespace" value="##targetNamespace"/>
       
  4516         <details key="group" value="#group:3"/>
       
  4517       </eAnnotations>
       
  4518     </eStructuralFeatures>
       
  4519     <eStructuralFeatures xsi:type="ecore:EAttribute" name="form" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4520       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4521         <details key="kind" value="attribute"/>
       
  4522         <details key="name" value="form"/>
       
  4523       </eAnnotations>
       
  4524     </eStructuralFeatures>
       
  4525     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4526       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4527         <details key="kind" value="attribute"/>
       
  4528         <details key="name" value="id"/>
       
  4529       </eAnnotations>
       
  4530     </eStructuralFeatures>
       
  4531     <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" unique="false"
       
  4532         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4533       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4534         <details key="kind" value="attribute"/>
       
  4535         <details key="name" value="location"/>
       
  4536       </eAnnotations>
       
  4537     </eStructuralFeatures>
       
  4538     <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4539       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4540         <details key="kind" value="attribute"/>
       
  4541         <details key="name" value="mode"/>
       
  4542       </eAnnotations>
       
  4543     </eStructuralFeatures>
       
  4544     <eStructuralFeatures xsi:type="ecore:EAttribute" name="phase" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4545       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4546         <details key="kind" value="attribute"/>
       
  4547         <details key="name" value="phase"/>
       
  4548       </eAnnotations>
       
  4549     </eStructuralFeatures>
       
  4550   </eClassifiers>
       
  4551   <eClassifiers xsi:type="ecore:EClass" name="TemplateType" eSuperTypes="#//ConditionalSourceGenString">
       
  4552     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4553       <details key="name" value="template_._type"/>
       
  4554       <details key="kind" value="simple"/>
       
  4555     </eAnnotations>
       
  4556     <eStructuralFeatures xsi:type="ecore:EAttribute" name="form" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4557       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4558         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;A token used to select a particular kind of source for a parent.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The namespace is determined implicitly by what a parent requests.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;For instance, a parent may have special sourcegen, and pass&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;the form &quot;SpecialCase&quot; to its children.  Templates specifying&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;form=&quot;SpecialCase&quot; will be selected.  Other parents will not see&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;such templates if they do not specify that form.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;If the form does not match, the template is not instantiated.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  4559       </eAnnotations>
       
  4560       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4561         <details key="kind" value="attribute"/>
       
  4562         <details key="name" value="form"/>
       
  4563       </eAnnotations>
       
  4564     </eStructuralFeatures>
       
  4565     <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4566       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4567         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Unique id for the template within a component or&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;within a templateGroup.  Ids may be shared for different&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;forms.  Derived components may redefine ids or inherit&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;templates by id.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Added post 1.1: if the id is unspecified in a templateGroup, &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;a default id is assigned.  To avoid inheriting, supply an empty id.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  4568       </eAnnotations>
       
  4569       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4570         <details key="kind" value="attribute"/>
       
  4571         <details key="name" value="id"/>
       
  4572       </eAnnotations>
       
  4573     </eStructuralFeatures>
       
  4574     <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" unique="false"
       
  4575         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4576       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4577         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The location id the contribution goes to.  May not be specified when &quot;phase&quot; is set.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  4578       </eAnnotations>
       
  4579       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4580         <details key="kind" value="attribute"/>
       
  4581         <details key="name" value="location"/>
       
  4582       </eAnnotations>
       
  4583     </eStructuralFeatures>
       
  4584     <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4585       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4586         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;Unused currently.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  4587       </eAnnotations>
       
  4588       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4589         <details key="kind" value="attribute"/>
       
  4590         <details key="name" value="mode"/>
       
  4591       </eAnnotations>
       
  4592     </eStructuralFeatures>
       
  4593     <eStructuralFeatures xsi:type="ecore:EAttribute" name="phase" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4594       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4595         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;The phase the contribution goes to.  A parent component must realize the&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;phase into an actual location id.&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;"/>
       
  4596       </eAnnotations>
       
  4597       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4598         <details key="kind" value="attribute"/>
       
  4599         <details key="name" value="phase"/>
       
  4600       </eAnnotations>
       
  4601     </eStructuralFeatures>
       
  4602   </eClassifiers>
       
  4603   <eClassifiers xsi:type="ecore:EClass" name="TwoWayMappingType">
       
  4604     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4605       <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;Base for two-way mappings.&#xD;&#xA;&#x9;&#x9;"/>
       
  4606     </eAnnotations>
       
  4607     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4608       <details key="name" value="twoWayMappingType"/>
       
  4609       <details key="kind" value="empty"/>
       
  4610     </eAnnotations>
       
  4611   </eClassifiers>
       
  4612   <eClassifiers xsi:type="ecore:EClass" name="UseTemplateGroupType">
       
  4613     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4614       <details key="name" value="useTemplateGroup_._type"/>
       
  4615       <details key="kind" value="elementOnly"/>
       
  4616     </eAnnotations>
       
  4617     <eStructuralFeatures xsi:type="ecore:EReference" name="useTemplate" upperBound="-1"
       
  4618         eType="#//UseTemplateType" containment="true" resolveProxies="false">
       
  4619       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       
  4620         <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;In a derived component, selects a template from the base by id.&#xD;&#xA;&#x9;&#x9;"/>
       
  4621       </eAnnotations>
       
  4622       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4623         <details key="kind" value="element"/>
       
  4624         <details key="name" value="useTemplate"/>
       
  4625         <details key="namespace" value="##targetNamespace"/>
       
  4626       </eAnnotations>
       
  4627     </eStructuralFeatures>
       
  4628     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ids" unique="false" lowerBound="1"
       
  4629         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4630       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4631         <details key="kind" value="attribute"/>
       
  4632         <details key="name" value="ids"/>
       
  4633       </eAnnotations>
       
  4634     </eStructuralFeatures>
       
  4635   </eClassifiers>
       
  4636   <eClassifiers xsi:type="ecore:EClass" name="UseTemplateType">
       
  4637     <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4638       <details key="name" value="useTemplate_._type"/>
       
  4639       <details key="kind" value="empty"/>
       
  4640     </eAnnotations>
       
  4641     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ids" unique="false" lowerBound="1"
       
  4642         eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
       
  4643       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
       
  4644         <details key="kind" value="attribute"/>
       
  4645         <details key="name" value="ids"/>
       
  4646       </eAnnotations>
       
  4647     </eStructuralFeatures>
       
  4648   </eClassifiers>
       
  4649 </ecore:EPackage>