<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jdt.launching">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.jdt.launching" id="executionEnvironments" name="Execution Environments"/>
      </appInfo>
      <documentation>
         Allows execution environments and execution environment analyzers to be contributed. An execution environment represents a kind of JRE - for example J2SE5. Analyzers are contributed to categorize JREs according to environments.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="environment" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="analyzer" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="ruleParticipant" minOccurs="0" maxOccurs="unbounded"/>
         </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="environment">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique identifier for this execution environment that is presented to the user - for example, &quot;J2SE-1.4&quot;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  a brief human-readable description of this execution environment
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="ruleParticipant" type="string">
            <annotation>
               <documentation>
                  the fully qualified name of a Java class that implements &lt;code&gt;org.eclipse.jdt.launching.environments.IAccessRuleParticipant&lt;/code&gt;. When specified, this class is used to create access rules for VM libraries associated with this execution environment during classpath resolution. This participant creates rules last, preceeded by any &lt;code&gt;ruleParticipants&lt;/code&gt; contributed as elements. This attribute was added in the 3.3 release.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.environments.IAccessRuleParticipant"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="analyzer">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique identifier for this execution environment analyzer
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified name of a Java class that implements &lt;code&gt;org.eclipse.jdt.launching.environments.IExecutionEnvironmentAnalyzer&lt;/code&gt;
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.environments.IExecutionEnvironmentAnalyzerDelegate"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="ruleParticipant">
      <annotation>
         <documentation>
            This element was added in the 3.3 release.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique identifier for this rule participant
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  the fully qualified name of a Java class that implements &lt;code&gt;org.eclipse.jdt.launching.environments.IAccessRuleParticipant&lt;/code&gt;. When specified, this class is used to create access rules for VM libraries associated with this execution environment during classpath resolution. This participant creates rules before a &lt;code&gt;ruleParticipant&lt;/code&gt; contributed by an execution environment directly, allowing a participant to override an environment&apos;s default rules.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.environments.IAccessRuleParticipant"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         Following is an example definition of an execution environment and analyzer.
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.jdt.launching.executionEnvironments&quot;&gt;
      &lt;environment
            id=&quot;J2SE-1.4&quot;
            description=&quot;Java 2 Platform, Standard Edition 1.4&quot;/&gt;
      &lt;analyzer
            class=&quot;com.example.ExecutionEnvironmentAnalyzer&quot;
            id=&quot;com.example.eeAnalyzer&quot;/&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         JDT (&lt;code&gt;org.eclispe.jdt.launching&lt;/code&gt;) provides definitions and an analyzer for the following execution environments:
&lt;ul&gt;
&lt;li&gt;OSGi/Minimum-1.0&lt;/li&gt;
&lt;li&gt;OSGi/Minimum-1.1&lt;/li&gt;
&lt;li&gt;JRE-1.1&lt;/li&gt;
&lt;li&gt;J2SE-1.2&lt;/li&gt;
&lt;li&gt;J2SE-1.3&lt;/li&gt;
&lt;li&gt;J2SE-1.4&lt;/li&gt;
&lt;li&gt;J2SE-1.5&lt;/li&gt;
&lt;li&gt;JavaSE-1.6&lt;/li&gt;
&lt;li&gt;CDC-1.0/Foundation-1.0&lt;/li&gt;
&lt;li&gt;CDC-1.1/Foundation-1.1&lt;/li&gt;
&lt;/ul&gt;
      </documentation>
   </annotation>

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

</schema>
