<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.python.pydev.parser">
<annotation>
      <appInfo>
         <meta.schema plugin="org.python.pydev.parser" id="pydev_parser_observer" name="org.python.pydev.parser.pydev_parser_observer"/>
      </appInfo>
      <documentation>
         This extension point is used for clients wanting to know when a parse tree is generated (or some error arises when trying to create it). The outline is based on it (the PyEdit listens to it and repasses to its IModelListeners -- and one of those is the ParsedModel for the PyOutlinePage).
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="parser_observer" 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>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>
   
   <element name="parser_observer">
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  class implementing org.python.pydev.core.parser.IParserObserver or org.python.pydev.core.parser.IParserObserver2
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;br&gt;
&amp;lt;extension point=&quot;org.python.pydev.parser.pydev_parser_observer&quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parser_observer class=&quot;my.observer.ObserverClass&quot;/&amp;gt;&lt;br&gt;
&amp;lt;/extension&amp;gt;&lt;br&gt;
&lt;br&gt;
and my.observer.ObserverClass must implement org.python.pydev.core.parser.IParserObserver or org.python.pydev.core.parser.IParserObserver2. &lt;br&gt;
&lt;br&gt;
The IParserObserver2 was added to pass additional parameters to the parse, so that when this parameter some specific analysis could be done.&lt;br&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         See org.python.pydev.core.parser.IParserObserver and org.python.pydev.core.parser.IParserObserver2 for details.
      </documentation>
   </annotation>

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

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

</schema>
