<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.sse.core">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.sse.core" id="builderparticipant" name="Structured Builder Participant"/>
      </appInfo>
      <documentation>
         Allows for the contribution of participants to the Structured building process.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="participant"/>
         </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>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="participant">
      <annotation>
         <documentation>
            A participant to be called during the build process.  Participants are notified before and after the Structured Builder runs on a project, given the resource deltas during incremental builds and told which resources to build during a full rebuild.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  Classname of the participant.  Must implement org.eclipse.wst.sse.core.builder.IBuilderParticipant.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="contentType" type="string" use="required">
            <annotation>
               <documentation>
                  A Content Type Identifier ID.  The participant will only be called for resources and deltas with this content type.  More than one may be specified per element, but there is no guarantee about the relationship between the number of instances and the content types.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         3.0
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;pre&gt;
&lt;extension point=&quot;org.eclipse.wst.sse.core.builderparticipant&quot; id=&quot;com.example.doctypeFinder&quot; name=&quot;XML DOCTYPE reference tracker&quot; &gt;
 &lt;participant contentType=&quot;contenttype.xml&quot; class=&quot;com.example.builder.DoctypeParticipant&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>
         
      </documentation>
   </annotation>

</schema>
