<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.common.snippets">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.common.snippets" id="SnippetContributions" name="Snippets View Contributions Extension"/>
      </appInfo>
      <documentation>
         Contributions to be shown in the Snippets view. Plugins may contribute new categories and items into those categories that have custom behavior when dropped onto an editor or certain views.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="category" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <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>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="category">
      <annotation>
         <documentation>
            Defines a category within the Snippets model, represented as a drawer in the Snippets view.  Drawers are used to categorize items much like a simple filing cabinet.  Categories contributed without any items within them will not be loaded into the Snippets model.  Categories without specific file types or content types will always have their drawers default to shown if the view is managing drawers according to the active editor.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="item" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A verbose label to show to the user.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="smallicon" type="string">
            <annotation>
               <documentation>
                  The small icon to show for this category.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  A unique ID for this category.  It will be used exactly as supplied within the Snippets model.  It is recommended that the plugin ID be used to prefix any categories contributed.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="label" type="string" use="required">
            <annotation>
               <documentation>
                  A brief label to show to the user.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="largeicon" type="string">
            <annotation>
               <documentation>
                  The large icon to show for this category.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="extensions" type="string">
            <annotation>
               <documentation>
                  A list of filename extensions identical to that used to register editors.  If the Snippets View has its drawer visibility tied to the active editor, the drawer will be hidden unless the filename from the active editor matches a value from this attribute&apos;s value.  More than one value may be specified if separated by commas.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="contenttypes" type="string">
            <annotation>
               <documentation>
                  A list of content types.  If the Snippets View has its drawer visibility tied to the active editor, the drawer will be hidden unless the input from the active editor matches a value from this attribute&apos;s value.  More than one value may be specified if separated by commas.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="item">
      <annotation>
         <documentation>
            Individual snippet item for the Snippets view. Contains text and information to help control and customize the related drag and drop behavior.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="content"/>
            <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="class" type="string">
            <annotation>
               <documentation>
                  An implementor of org.eclipse.wst.common.snippets.ui.ISnippetInsertion, although subclassing org.eclipse.wst.common.snippets.ui.DefaultSnippetInsertion is encouraged.  It controls most of the interaction between the Snippets view and the rest of the workbench.  It may be asked to insert the item into an editor by itself or provide information to control the Snippets view&apos;s drag and drop behavior.  When one is not specified, org.eclipse.wst.common.snippets.ui.DefaultSnippetInsertion will be used.  It provides querying for user-supplied values for variables and a simple text preview pane when inserting text into an editor.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A verbose label to show to the user.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="smallicon" type="string">
            <annotation>
               <documentation>
                  The small icon to show for this item.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  A unique ID for this item.  It will be used exactly as supplied within the Snippets model.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="label" type="string" use="required">
            <annotation>
               <documentation>
                  A brief label to show to the user.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="largeicon" type="string">
            <annotation>
               <documentation>
                  The large icon to show for this item.  The value of this attributes specifies a path relative to the plugin&apos;s installation folder.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="content" type="string">
      <annotation>
         <documentation>
            Specifies the raw data for this Snippets item, usually as a CDATA section.  The insertion object and editor must both understand how to manipulate this data.  The default implementations understand embedded variable markers.
         </documentation>
      </annotation>
   </element>

   <element name="variable">
      <annotation>
         <documentation>
            A marker describing a replaceable section of the content.  The user should be asked for the value to use whenever Snippets is inserting the parent Item.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="default" type="string">
            <annotation>
               <documentation>
                  The variable&apos;s default value.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  The description of this variable.  With the default insertion class, it will be shown in a description pane when the variable is selected.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  A unique ID for this variable.  It will be used exactly as supplied within the Snippets model.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The label to show to the user.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         1.0
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;pre&gt;
   &lt;extension
         point=&quot;org.eclipse.wst.common.snippets.SnippetContributions&quot;&gt;
      &lt;category
            smallicon=&quot;icons/tag-jsp.gif&quot;
            label=&quot;JSP&quot;
            description=&quot;Java Server Pages&quot;
            id=&quot;org.eclipse.wst.jsp.category0&quot;
            contenttypes=&quot;org.eclipse.wst.jsp.core.jspsource&quot;
            extensions=&quot;*.jsp, *.jsf, *.jspf&quot;&gt;
        &lt;item
              smallicon=&quot;icons/tag-generic.gif&quot;
              label=&quot;%jsp_hidden_comment&quot;
              id=&quot;org.eclipse.wst.jsp.jsp_hidden_comment&quot;&gt;
           &lt;content&gt;
              %jsp_hidden_comment_content
           &lt;/content&gt;
        &lt;/item&gt;
        &lt;item
              label=&quot;%jsp_page_directive&quot;
              id=&quot;org.eclipse.wst.jsp.jsp_page_directive&quot;&gt;
           &lt;content&gt;
              %jsp_page_directive_content
           &lt;/content&gt;
        &lt;/item&gt;
        &lt;item
              smallicon=&quot;icons/jsptaglib.gif&quot;
              label=&quot;%jsp_taglib_directive&quot;
              class=&quot;org.eclipse.wst.common.snippets.insertions.PrependInsertion&quot;
              id=&quot;org.eclipse.wst.jsp.jsp_taglib_directive&quot;&gt;
           &lt;content&gt;
              &lt;![CDATA[ &lt;%@taglib uri=&quot;$uri&quot; prefix=&quot;$prefix&quot; %&gt; ]]&gt;
           &lt;/content&gt;
           &lt;variable
                 description=&quot;%jsp_taglib_directive_uri&quot;
                 id=&quot;uri&quot;&gt;
           &lt;/variable&gt;
           &lt;variable
                 default=&quot;mylib&quot;
                 description=&quot;%jsp_taglib_directive_prefix&quot;
                 id=&quot;prefix&quot;&gt;
           &lt;/variable&gt;
        &lt;/item&gt;
      &lt;/category&gt;
   &lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         The supplied implementation of the Snippets view requires the Graphical Editing Framework and Structured Source Editing components.
      </documentation>
   </annotation>

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

</schema>
