<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.erlide.launching" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appinfo>
         <meta.schema plugin="org.erlide.launching" id="codepath" name="codepath"/>
      </appinfo>
      <documentation>
         A plugin can contribute Erlang code by specifying here the directories where the beam files are to be found. The paths are relative to the plugin root and erlIDE can load beam code even from inside jar archives.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appinfo>
            <meta.element />
         </appinfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="beam_dir" minOccurs="1" maxOccurs="unbounded"/>
            <element ref="init" minOccurs="0" maxOccurs="1"/>
         </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="beam_dir">
      <complexType>
         <attribute name="path" type="string" use="required">
            <annotation>
               <documentation>
                  Specifies the relative path inside the plugin&apos;s bundle of the directory containing .beam files
               </documentation>
            </annotation>
         </attribute>
         <attribute name="context" use="required">
            <annotation>
               <documentation>
                  Specifies in which context the code is to be loaded. 
&lt;ul&gt;
&lt;li&gt; &quot;ide&quot; means it is for general ide use. &lt;/li&gt;
&lt;li&gt; &quot;builder&quot; means that the code will be loaded on build backends. &lt;/li&gt;
&lt;li&gt;&quot;any&quot; means all contexts, generic utilities. &lt;/li&gt;
&lt;li&gt;&quot;debugger&quot; means in execution backends (including debugger)&lt;/li&gt;
&lt;/ul&gt;
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="ide">
                  </enumeration>
                  <enumeration value="builder">
                  </enumeration>
                  <enumeration value="any">
                  </enumeration>
                  <enumeration value="debugger">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="init">
      <annotation>
         <documentation>
            Describes the calll to be made to initialize this plugin. The attributes specify a function that takes no arguments.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="module" type="string" use="required">
            <annotation>
               <documentation>
                  the module
               </documentation>
            </annotation>
         </attribute>
         <attribute name="function" type="string" use="required">
            <annotation>
               <documentation>
                  the function
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appinfo>
         <meta.section type="since"/>
      </appinfo>
      <documentation>
         [Enter the first release in which this extension point appears.]
      </documentation>
   </annotation>

   <annotation>
      <appinfo>
         <meta.section type="examples"/>
      </appinfo>
      <documentation>
         [Enter extension point usage example here.]
      </documentation>
   </annotation>

   <annotation>
      <appinfo>
         <meta.section type="apiInfo"/>
      </appinfo>
      <documentation>
         [Enter API information here.]
      </documentation>
   </annotation>

   <annotation>
      <appinfo>
         <meta.section type="implementation"/>
      </appinfo>
      <documentation>
         [Enter information about supplied implementation of this extension point.]
      </documentation>
   </annotation>


</schema>
