<?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"/>
         </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>
      </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>

   <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, 2003 IBM Corporation and others.
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 http://www.eclipse.org/legal/cpl-v10.html
      </documentation>
   </annotation>

</schema>
