<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jdt.launching" xmlns="http://www.w3.org/2001/XMLSchema">
<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">
      <annotation>
         <appinfo>
            <meta.element />
         </appinfo>
      </annotation>
      <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>
         <attribute name="profileProperties" type="string">
            <annotation>
               <documentation>
                  Plug-in relative path to a properties file containing standard OSGi profile properties. Properties provide tooling with extra infomration about an environment - for example, system packages and default source and target level settings to use when compiling with this environment. This attribute was added in the 3.5 release.
               </documentation>
               <appinfo>
                  <meta.attribute kind="resource"/>
               </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. Since 3.5, a default access rule participant provides access rules for system packages assocaited with an execution environment. System packages are specified by an OSGi profile properties file (see &lt;code&gt;profileProperties&lt;/code&gt; above) via the &lt;code&gt;org.osgi.framework.system.packages&lt;/code&gt; property.
&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>


</schema>
