<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
    copyrightText="Copyright (c) 2019 CEA LIST.&#xA;&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License 2.0&#xA; which accompanies this distribution, and is available at&#xA; https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA; SPDX-License-Identifier: EPL-2.0&#xA;&#xA; Contributors:&#xA; Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation"
    modelDirectory="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen"
    creationIcons="false" creationSubmenus="true" editDirectory="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen"
    editorDirectory="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen"
    modelPluginID="org.eclipse.papyrus.model2doc.emf.documentstructuretemplate" modelName="Documentstructuretemplate"
    editPluginClass="org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.provider.DocumentStructureTemplateEditPlugin"
    editorPluginClass="org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.presentation.DocumentStructureTemplateEditorPlugin"
    nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
    codeFormatting="true" commentFormatting="true" testsDirectory="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.tests/src-gen"
    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
    optimizedHasChildren="true" usedGenPackages="../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.styles/model/Styles.genmodel#//styles"
    operationReflection="true" importOrganizing="true" cleanup="true" oSGiCompatible="true"
    pluralizedGetters="true">
  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
    <details key="COMMENTS" value="PROCESS"/>
    <details key="DERIVED_FEATURES" value="PROCESS"/>
    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
    <details key="DUPLICATE_OPERATION_INHERITANCE" value="PROCESS"/>
    <details key="REDEFINING_OPERATIONS" value="PROCESS"/>
    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
    <details key="UNION_PROPERTIES" value="REPORT"/>
    <details key="DUPLICATE_OPERATIONS" value="PROCESS"/>
    <details key="NON_API_INVARIANTS" value="IGNORE"/>
    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
    <details key="OPERATION_BODIES" value="IGNORE"/>
    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
  </genAnnotations>
  <foreignModel>documentstructuretemplate.uml</foreignModel>
  <genPackages xsi:type="genmodel:GenPackage" prefix="DocumentStructureTemplate" basePackage="org.eclipse.papyrus.model2doc.emf"
      disposableProviderFactory="true" multipleEditorPages="false" extensibleProviderFactory="true"
      childCreationExtenders="true" fileExtensions="pdst" ecorePackage="documentstructuretemplate.ecore#/">
    <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="documentstructuretemplate.ecore#//EClassFilterBehavior">
      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="documentstructuretemplate.ecore#//EClassFilterBehavior/TYPE_OF"/>
      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="documentstructuretemplate.ecore#//EClassFilterBehavior/KIND_OF"/>
    </genEnums>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//DocumentTemplate">
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//DocumentTemplate/semanticContext"/>
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//DocumentTemplate/graphicalContext"/>
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//DocumentTemplate/documentTemplatePrototype"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//DocumentTemplate/name"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//DocumentTemplate/description"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//DocumentTemplate/kindId"/>
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//DocumentTemplate/documentStructureGeneratorConfiguration"/>
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//DocumentTemplate/author"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//DocumentTemplate/getType"
          body="if (null != getDocumentTemplatePrototype()) {&#xA;&#x9;return getDocumentTemplatePrototype().getType();&#xA;}&#xA;return null;"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//DocumentTemplate/getIconPath"
          body="if (null != getDocumentTemplatePrototype()) {&#xA;&#x9;return getDocumentTemplatePrototype().getIconPath();&#xA;}&#xA;return null;"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//DocumentTemplatePrototype">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//DocumentTemplatePrototype/type"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//DocumentTemplatePrototype/iconPath"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//DocumentTemplatePrototype/description"/>
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//DocumentTemplatePrototype/documentTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//TextDocumentTemplate">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//TextDocumentTemplate/mainTitle"/>
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//TextDocumentTemplate/documentPart"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//DocumentPart"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//TableOfContents">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//TableOfContents/tocTitle"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//Body">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//Body/bodyPartTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IBodyPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IBodySectionPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/generate"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateTitle"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/customTitle"/>
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateBranchCondition"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateIfEmpty"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/defaultTextIfEmpty"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IBodySectionPartTemplate/buildPartTemplateTitle"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.operations.BodySectionPartTemplateTitleOperations.INSTANCE.buildPartTemplateTitle(this,context);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IBodySectionPartTemplate/buildPartTemplateTitle/context"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateBranch"
          body="if(null==context){&#xA;&#x9;return false;&#xA;}&#xA;if(null==generateBranchCondition){&#xA;&#x9;return true;&#xA;}&#xA;&#xA;return generateBranchCondition.evaluate(context);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateBranch/context"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IComposedBodyPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//IComposedBodyPartTemplate/subBodyPartTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ISubBodyPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ILeafBodyPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IComposedSubBodyPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//IComposedSubBodyPartTemplate/bodyPartTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ILeafSubBodyPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EClassPartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//EClassTemplate">
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//EClassTemplate/eClass"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//EClassTemplate/filterRule"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EClassTemplate/isMatchingFilterRule"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EClassTemplateOperations.isMatchingFilterRule(this, inputEObject);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EClassTemplate/isMatchingFilterRule/inputEObject"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EReferencePartTemplate"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//EReferenceTemplate">
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//EReferenceTemplate/eReference"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EReferenceTemplate/getEReferenceValues"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EReferenceTemplateOperations.getEReferenceValues(this,context);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EReferenceTemplate/getEReferenceValues/context"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EReferenceTemplate/buildEReferenceValueLabel"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EReferenceTemplateOperations.buildEReferenceValueLabel(this,value);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EReferenceTemplate/buildEReferenceValueLabel/value"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ITemplatePartView"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ITableView">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//ITableView/columns"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//ITableView/generateRowHeader"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//ITableView/generateColumnHeader"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//ITableView/getRows">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//ITableView/getRows/context"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//ITableView/buildRowHeaderLabel">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//ITableView/buildRowHeaderLabel/rowElement"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IColumn">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IColumn/customColumnTitle"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IColumn/buildColumnHeaderLabel"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IColumn/getCellValue">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IColumn/getCellValue/row"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IColumn/buildCellLabel">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IColumn/buildCellLabel/cellValue"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EReferenceTableView"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EStructuralFeatureColumn">
      <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="propertyEditorFactory" value="editor://documentstructuretemplate/EStructuralFeatureColumn/EStructuralFeature/"/>
      </genAnnotations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//EStructuralFeatureTemplate">
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//EStructuralFeatureTemplate/feature"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EStructuralFeatureTemplate/getEStructuralFeatureValues"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EStructuralFeatureTemplateOperations.getEStructuralFeatureValues(this,context);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EStructuralFeatureTemplate/getEStructuralFeatureValues/context"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EStructuralFeatureTemplate/buildEStructuralFeatureValueLabel"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EStructuralFeatureTemplateOperations.buildEStructuralFeatureValueLabel(this,value);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EStructuralFeatureTemplate/buildEStructuralFeatureValueLabel/value"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IListItemTemplate/generateItem"/>
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IListItemTemplate/customItemLabel"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IListItemTemplate/buildItemLabel">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IListItemTemplate/buildItemLabel/item"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IListItemTemplate/getItems">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IListItemTemplate/getItems/context"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ILeafListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IRootListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IComposedListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//IComposedListItemTemplate/subListItemTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ISubListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//IComposedSubListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//IComposedSubListItemTemplate/listItemTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//ILeafSubListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EReferenceListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EAttributeListItemTemplate"/>
    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="documentstructuretemplate.ecore#//EAttributeTemplate">
      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
          propertySortChoices="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//EAttributeTemplate/eAttribute"/>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EAttributeTemplate/buildEAttributeValueLabel"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EAttributeTemplateOperations.buildEAttributeValueLabel(this, value);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EAttributeTemplate/buildEAttributeValueLabel/value"/>
      </genOperations>
      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//EAttributeTemplate/getEAttributeValues"
          body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.internal.operations.EAttributeTemplateOperations.getEAttributeValues(this, context);">
        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//EAttributeTemplate/getEAttributeValues/context"/>
      </genOperations>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EClassListItemTemplate"
        labelFeature="#//documentstructuretemplate/IListItemTemplate/customItemLabel"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//TreeListView"
        labelFeature="#//documentstructuretemplate/IBodySectionPartTemplate/customTitle">
      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
          createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//TreeListView/rootListItemTemplate"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//InsertFileTemplate"/>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//TableOfFigures">
      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//TableOfFigures/tofTitle"/>
    </genClasses>
    <genClasses xsi:type="genmodel:GenClass" ecoreClass="documentstructuretemplate.ecore#//EAttributeAsParagraph"/>
  </genPackages>
</genmodel:GenModel>
