<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ptp.services.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.ptp.services.core" id="services" name="Services"/>
      </appInfo>
      <documentation>
         Used to define a service. This extension point is intended to allow certain services to be abstracted. For example, to provide remote implementations of project build services.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence minOccurs="1" maxOccurs="unbounded">
            <element ref="service"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="service">
      <complexType>
         <sequence minOccurs="0" maxOccurs="unbounded">
            <element ref="nature"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique identifier for this service
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a human readable name for the service
               </documentation>
            </annotation>
         </attribute>
         <attribute name="priority" type="string">
            <annotation>
               <documentation>
                  a priority for the service - lower values indicate higher priority.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="categoryId" type="string">
            <annotation>
               <documentation>
                  ID of the serviceCategory that the service should belong to. Optional, if not specified the service will fall into the &quot;Additional Services&quot; category.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="nullProviderClass" type="string">
            <annotation>
               <documentation>
                  The null service provider for this service. A service may have a null provider that acts as a &quot;no-op&quot; provider and will be returned by IServiceConfiguration.getServiceProvider() when a service is disabled, if there is no null provider then null will be returned instead.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn=":org.eclipse.ptp.services.core.IServiceProvider"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="nature">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique identifier for this nature
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         [Enter the first release in which this extension point appears.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         [Enter extension point usage example here.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         [Enter API information here.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         [Enter information about supplied implementation of this extension point.]
      </documentation>
   </annotation>


</schema>
