<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.common.frameworks">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="functionGroup" name="Function Extension Group"/>
      </appInfo>
      <documentation>
         A functionGroup provides a grouping of related function that can be contributed to the tools.  For example, a third party component may want to contribute actions, editor pages, edit model resources, and many other functions specific to a given product.  By associating all these functions with a group id, a mechanism is exposed for users to selectively enable and disable baskets of function.  Extension points that allow for a &quot;groupID&quot; attribute generally will hide those functions when the group id is disabled.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <choice>
            <element ref="functionGroup" minOccurs="1" maxOccurs="unbounded"/>
            <element ref="functionGroupPatternBinding" minOccurs="1" maxOccurs="unbounded"/>
         </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="functionGroup">
      <annotation>
         <documentation>
            Extension point definition for a group.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="functionGroupID" type="string" use="required">
            <annotation>
               <documentation>
                  A unique id for the group.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  A human readable name.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="description" type="string" use="required">
            <annotation>
               <documentation>
                  A short description of the group.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  Optional path to an icon image.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="url" type="string">
            <annotation>
               <documentation>
                  Optional url for the function group.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="priority" type="string" use="required">
            <annotation>
               <documentation>
                  Ordering magnitude of plugins
               </documentation>
            </annotation>
         </attribute>
         <attribute name="initializerClassName" type="string" use="required">
            <annotation>
               <documentation>
                  Class used to determine plugin enablement
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="functionGroupPatternBinding">
      <annotation>
         <documentation>
            This element allows one to bind function groups to patterns.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="functionGroupID" type="string" use="required">
            <annotation>
               <documentation>
                  The unique identifier of the function group to bind.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="pattern" type="string" use="required">
            <annotation>
               <documentation>
                  The pattern to be bound. Patterns are regular expressions which match unique identifiers.
               </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.frameworks.functionGroup&quot;&gt;
      &lt;functionGroup
            name=&quot;Acme Co. Function Extension&quot;
            functionGroupID=&quot;com.acme.acmepro&quot;
            description=&quot;The AcmePro Extensions add integration to the Acme Web Server.&quot;
            enabledByDefault=&quot;true&quot;
            icon=&quot;...&quot;
            url=&quot;http://www.acme.com/&quot;/&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>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 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>
