<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.cdt.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.cdt.core" id="CConfigurationDataProvider" name="CConfigurationData provider"/>
      </appInfo>
      <documentation>
         Each time the Build Active configuration gets changed, the Project natures set gets adjusted by removing natures associated with the previously active configuration and adding natures associated with the new active configuration.
This allows adjusting the builders used with the project, etc.
      </documentation>
   </annotation>
   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="provider"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <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="provider">
      <complexType>
         <attribute name="natures" type="string">
            <annotation>
               <documentation>
                  Project nature IDs associated with this provider. IDs are separated by semicolons.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  A class which extends org.eclipse.cdt.core.settings.model.extension.CConfigurationDataProvider
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.cdt.core.settings.model.extension.CConfigurationDataProvider:"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="conflictingNatures" type="string">
            <annotation>
               <documentation>
                  Project nature IDs to be unset for this provider. IDs are separated by semicolons.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>
</schema>
