<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.core.variables">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.core.variables" id="valueVariables" name="Value Variables"/>
      </appInfo>
      <documentation>
         This extension point provides a mechanism for defining variables used for string substitution. A value variable has a static value.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified identifier of the target extension point
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  an optional identifier of the extension instance
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name of the extension instance
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="variable">
      <complexType>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  specifies a unique name for this variable.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="readOnly" type="boolean">
            <annotation>
               <documentation>
                  Specifies whether this variable is read only. When true, this variable&apos;s value will always be derived from the extension and cannot be edited by the user. When false, this variable&apos;s value will be initialized from any &lt;code&gt;initialValue&lt;/code&gt; attribtue or initializer class, and can be modified by the user. Once a read-write variable is modified, its value is persisted and overrides any value specified by an extension&apos;s &lt;code&gt;initialValue&lt;/code&gt; or initializer class. When unspecified, the value of this attribute is &lt;code&gt;false&lt;/code&gt;. This attribute was added in the 3.3 release.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="initialValue" type="string">
            <annotation>
               <documentation>
                  specifies the initial value for this variable. When specified, an &lt;code&gt;initializerClass&lt;/code&gt; attribute must not be specified.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="initializerClass" type="string">
            <annotation>
               <documentation>
                  specifies the fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/code&gt;. When specified, an &lt;code&gt;initialValue&lt;/code&gt; attribute must not be specified.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IValueVariableInitializer"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  specifies a human-readable description of this variable.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of a value variable contribution with an initial value:

&lt;p&gt;
&lt;pre&gt;
 &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;
  &lt;variable
   name=&quot;FOO_HOME&quot;
   initialValue=&quot;/usr/local/foo&quot;&gt;
  &lt;/variable&gt;
 &lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;

In the example above, the specified variable is created with the initial value &quot;/usr/local/foo&quot;.

         The following is an example of a value variable contribution with an initializer class:
&lt;p&gt;
&lt;pre&gt;
 &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;
  &lt;variable
   name=&quot;FOO_HOME&quot;
   initializerClass=&quot;com.example.FooLocator&quot;&gt;
  &lt;/variable&gt;
 &lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;

In the example above, the variable FOO_HOME is created and the class &quot;com.example.FooLocator&quot; will be
used to initialize the value the first time it&apos;s requested.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         Value of the attribute &lt;b&gt;initializerClass&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/b&gt;.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2003, 2011 IBM Corporation and others.&lt;br&gt;

This program and the accompanying materials are made 
available under the terms of the Eclipse Public License 2.0 which 
accompanies this distribution, and is available at 
&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/

SPDX-License-Identifier: EPL-2.0
      </documentation>
   </annotation>

</schema>
