<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
  <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="Epsilon"
            parentCategory="org.eclipse.ui.Examples"
            id="org.eclipse.epsilon.common.dt.examples">
      </category>
      <wizard
            name="Call Java code from Epsilon"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard3"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.calljava">
         <description>
            In this example, we create a JFrame from EOL. The aim of this example is to show how to call Java code from within Epsilon languages.
         </description>
      </wizard>  
      <wizard
            name="Creating custom Java tools for Epsilon"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard4"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.tools">
         <description>
            In this example, we create a custom tool for Epsilon.
         </description>
      </wizard>  
      <wizard
            name="Building and querying plain XML documents with EOL"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard5"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.plainxml">
         <description>
            In this example, we use the plain XML driver of Epsilon to build and query an XML document that is not backed by a XSD/DTD.
         </description>
      </wizard>  
      <wizard
            name="Cloning and copying XML elements across documents with EOL"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard6"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.plainxml.copyfromtemplate">
         <description>
            In this example, we use the plain XML driver of Epsilon to clone and copy XML elements across different documents with EOL.
         </description>
      </wizard>  
      <wizard
            name="Cloning EMF model elements with EOL"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard7"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.clone">
         <description>
            In this example, we demonstrate how the EmfTool built-in tool can be used to perform deep-copy (cloning) of EMF model elements using EOL.
         </description>
      </wizard>  
      <wizard
            name="Profiling and caching in EOL"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard8"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.profiling">
         <description>
            This example demonstrates the caching capabilities and the profiling tools provided by Epsilon.
         </description>
      </wizard>  
      <wizard
            name="Manage XSD-backed XML files with EOL"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard9"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.xsdxml">
         <description>
            In this example we demonstrate using EOL to query an XSD-backed XML file.
         </description>
      </wizard>  
      <wizard
            name="Transform an RSS feed to an Atom feed using ETL"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard11"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.rss2atom">
         <description>
            In this example, we use ETL and the plain XML driver to transform an RSS feed to an Atom feed.
         </description>
      </wizard>  
      <wizard
            name="Experiment with the different features of EGL using a Flowchart-to-HTML transformation."
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard14"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.egl.flowchart">
         <description>
            In this example, we explore the main features of EGL by generating HTML text from an EMF model of a flowchart. We demonstrate the EGX coordination language, code formatters, preserving hand-written text with protected regions and generating a fine-grained trace model.
         </description>
      </wizard>  
      <wizard
            name="Generating HTML pages from an XML document"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard15"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.egl.library">
         <description>
            In this example, we use the plain XML driver of Epsilon in the context of an EGL model-to-text transformation.
         </description>
      </wizard>  
      <wizard
            name="Migrate Petri net models with Epsilon Flock"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard21"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.flock.petrinets">
         <description>
            In this example we demonstrate how to migrate a model in response to metamodel changes with Epsilon Flock.
         </description>
      </wizard>  
      <wizard
            name="MDD-TIF complete case study"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard23"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.mddtif">
         <description>
            In this example, we demonstrate how different languages in Epsilon (EVL, EGL, EML, ETL and ECL) can be combined to implement more complex operations.
         </description>
      </wizard>  
      <wizard
            name="Compare, validate and merge OO models"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard24"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.oomerging">
         <description>
            In this example, we use ECL to compare two OO models, then use EVL to check the identified matches for consistency and finally EML to merge them.
         </description>
      </wizard>  
      <wizard
            name="Provide custom/extended tasks for the workflow"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard26"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.workflow.extension.example">
         <description>
            In this example we demonstrate how you can define your own ANT tasks that extend the Epsilon workflow tasks.
         </description>
      </wizard>  
      <wizard
            name="Use model transactions in a workflow"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard27"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.examples.workflow.transactions">
         <description>
            In this example we demonstrate using the ant-contrib try/catch tasks and the Epsilon model transactions tasks to conditionally rollback changes in models modified in a workflow.
         </description>
      </wizard>  
      <wizard
            name="Implement a GMF editor with image nodes using EuGENia"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard28"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eugenia.examples.friends">
         <description>
            In this example we use EuGENia to implement a GMF editor with images instead of shapes for nodes.
         </description>
      </wizard>  
      <wizard
            name="Implement a GMF editor with end labels in connections using EuGENia"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard29"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eugenia.examples.endlabels">
         <description>
            In this example we use EuGENia to implement a GMF editor with end labels in connections.
         </description>
      </wizard>  
      <wizard
            name="Implement a flowchart GMF editor using EuGENia"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard30"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eugenia.examples.flowchart">
         <description>
            In this example we use EuGENia to implement a flowchart GMF editor, and EOL to polish its appearance.
         </description>
      </wizard>  
      <wizard
            name="Test EOL scripts with EUnit"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard31"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eunit.examples.eol">
         <description>
            In this example we show the basic structure of an EUnit test, some useful assertions for the basic types and how to test for errors and define our own assertions.
         </description>
      </wizard>  
      <wizard
            name="Reuse EUnit tests with model and data bindings"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard32"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eunit.examples.bindings">
         <description>
            In this example we show how the same EUnit test can be reused for several models, and how EUnit supports several levels of parametric tests.
         </description>
      </wizard>  
      <wizard
            name="Test a model validation script with EUnit"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard33"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eunit.examples.evl">
         <description>
            In this example we show how a model validation script written in EVL can be tested with EUnit, using the exportAsModel attribute of the EVL workflow task.
         </description>
      </wizard>  
      <wizard
            name="Test a model-to-text transformation with EUnit"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard34"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eunit.examples.egl.files">
         <description>
            In this example we show how a model-to-text transformation written in EGL can be tested with EUnit and HUTN.
         </description>
      </wizard>  
      <wizard
            name="Integrate EUnit into a standard JUnit plug-in test"
            category="org.eclipse.ui.Examples/org.eclipse.epsilon.common.dt.examples"
            class="org.eclipse.epsilon.common.dt.examples.ExampleProjectWizard35"
            project="true"
            icon="icons/project.gif"
            id="org.eclipse.epsilon.eunit.examples.junit">
         <description>
            In this example we show how to write an EUnit/JUnit plug-in test of an ETL transformation.
         </description>
      </wizard>  
      
   </extension>

</plugin>