<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ui">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.ui" id="newWizards" name="Creation Wizards"/>
      </appInfo>
      <documentation>
         This extension point is used to register resource creation wizard extensions. Creation wizards appear as choices within the &quot;New Dialog&quot;, and are typically used to create folders and files. 
&lt;p&gt;
In the &quot;New Dialog&quot;, wizards are organized into categories which usually reflect a particular problem domain.  For instance, a Java oriented plugin may define a category called &quot;Java&quot; which is appropriate for &quot;Class&quot; or &quot;Package&quot; creation wizards.  The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. Uncategorized wizards, as well as wizards with invalid category paths, will end up in an &quot;Other&quot; category. 
&lt;/p&gt;

&lt;p&gt;
Wizards may optionally specify a description subelement whose body should contain short text about the wizard.
&lt;/p&gt;
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <choice minOccurs="0" maxOccurs="unbounded">
            <element ref="category"/>
            <element ref="wizard"/>
            <element ref="primaryWizard"/>
         </choice>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified identifier of the target extension point
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  an optional identifier of the extension instance
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name of the extension instance
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="category">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="name"/>
         </appInfo>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique name that can be used to identify this category
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a translatable name of the category that will be used in the dialog box
               </documentation>
            </annotation>
         </attribute>
         <attribute name="parentCategory" type="string">
            <annotation>
               <documentation>
                  a path to another category if this category should be added as a child
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="wizard">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="name" icon="icon"/>
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="description" minOccurs="0" maxOccurs="1"/>
            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique name that can be used to identify this wizard
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a translatable name of the wizard that will be used in the dialog box
               </documentation>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  a relative path of an icon that will be used together with the name to represent the wizard 
as one of the choices in the creation dialog box.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="category" type="string">
            <annotation>
               <documentation>
                  a slash-delimited path (&apos;/&apos;) of category IDs. Each token in the
path must represent a valid category ID previously defined
by this or some other plug-in. If omitted, the wizard will be
added to the &quot;Other&quot; category.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified name of the Java class implementing &lt;samp&gt;org.eclipse.ui.INewWizard&lt;/samp&gt;.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.INewWizard"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="project" type="boolean">
            <annotation>
               <documentation>
                  an optional attribute indicating the wizard will create an IProject resource.
Also causes the wizard to appear as a choice within the &quot;New Project Dialog&quot;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="finalPerspective" type="string">
            <annotation>
               <documentation>
                  an optional attribute which identifies a perspective to activate when IProject resource creation is finished.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="preferredPerspectives" type="string">
            <annotation>
               <documentation>
                  an optional attribute specifying a comma-separated list of perspective IDs.  If the current perspective is in this list, then no perspective activation occurs when IProject resource creation is finished.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="helpHref" type="string">
            <annotation>
               <documentation>
                  a help url that can describe this wizard in detail.
&lt;p&gt;
Since 3.0
&lt;/p&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="descriptionImage" type="string">
            <annotation>
               <documentation>
                  a larger image that can help describe this wizard.
&lt;p&gt;
Since 3.0
&lt;/p&gt;
               </documentation>
               <appInfo>
                  <meta.attribute kind="resource"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="description" type="string">
      <annotation>
         <documentation>
            an optional subelement whose body contains a short text describing what the wizard will do when started
         </documentation>
      </annotation>
   </element>

   <element name="selection">
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed
               </documentation>
               <appInfo>
                  <meta.attribute kind="java"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="primaryWizard">
      <annotation>
         <documentation>
            a means of declaring that a wizard is &quot;primary&quot; in the UI.  A primary wizard is emphasized in the new wizard dialog.  Please note that this element is not intended to be used by plug in developers!  This element exists so that product managers may emphasize a set of wizards for their products.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the id of a wizard that should be made primary.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         Following is an example of creation wizard configuration: 
&lt;p&gt;
&lt;pre&gt;
   &lt;extension point=&quot;org.eclipse.ui.newWizards&quot;&gt; 
      &lt;category 
        id=&quot;com.xyz.XYZ&quot; 
        name=&quot;XYZ Wizards&quot;&gt; 
      &lt;/category&gt; 
      &lt;category 
        id=&quot;com.xyz.XYZ.Web&quot; 
        name=&quot;Web Wizards&quot; 
        parentCategory=&quot;com.xyz.XYZ&quot;&gt; 
      &lt;/category&gt; 
      &lt;wizard 
          id=&quot;com.xyz.wizard1&quot; 
          name=&quot;XYZ artifact&quot; 
          category=&quot;com.xyz.XYZ/com.xyz.XYZ.Web&quot; 
          icon=&quot;./icons/XYZwizard1.gif&quot; 
          class=&quot;com.xyz.XYZWizard1&quot;&gt; 
          &lt;description&gt; 
              Create a simple XYZ artifact and set initial content 
          &lt;/description&gt; 
           &lt;selection class=&quot;org.eclipse.core.resources.IResource&quot;/&gt;          
      &lt;/wizard&gt; 
   &lt;/extension&gt; 
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The value of the class attribute must represent a class 
that implements &lt;samp&gt;org.eclipse.ui.INewWizard&lt;/samp&gt;. 
If the wizard is created from within the 
New Wizard it will be inserted into the existing wizard.  
If the wizard is launched as a shortcut 
(from the File New menu or a toolbar button) it will 
appear standalone as a separate dialog box.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         The workbench comes with wizards for creating empty 
resources of the following types: 
project, folder and file. These wizards are registered 
using the same mechanism as described above. 
Additional wizards may also appear, subject to 
particular platform installation.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made 
available under the terms of the Common Public License v1.0 which 
accompanies 
this distribution, and is available at 
&lt;a 
href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
