<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.gmf.runtime.common.ui.services">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.gmf.runtime.common.ui.services" id="markerNavigationProviders" name="Marker Navigation Providers Extension Point"/>
      </appInfo>
      <documentation>
         This extension point facilitates the configuration of providers for the marker navigation service
         (&lt;tt&gt;org.eclipse.gmf.runtime.common.ui.services.marker.MarkerNavigationService&lt;/tt&gt;).
         &lt;p&gt;
         The marker navigation service enables Xtools clients to perform the navigation feedback when the
         user double clicks on or &quot;goes to&quot; a marker reference. The attribute values defined on the marker
         identify a location or locations in the resource that are of interest to the user. The feedback 
         associated with navigation to that location depends upon the resource and its associated editors. 
         The feedback might simply be selecting the appropriate object(s) specified by the marker&apos;s location
         or the feedback could involve a separate dialog to describe the reason for the marker (e.g., errors). 
         &lt;p&gt;
         In order to make use of the marker navigation service, an Xtools client should define its own marker 
         types and creates the marker instances on the appropriate resources. Markers created on the 
         workspace root are not navigable.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="MarkerNavigationProvider"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  The identifier of the extension point, e.g. &lt;tt&gt;org.eclipse.gmf.runtime.common.ui.services.markerNavigationProviders&lt;/tt&gt;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  The identifier of the extension, e.g. markerNavigationProviders.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The name of the extension, e.g. %ext.markerNavigationProviders.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="MarkerNavigationProvider">
      <complexType>
         <sequence>
            <element ref="Priority"/>
            <element ref="MarkerType" minOccurs="1" maxOccurs="unbounded"/>
            <element ref="Policy" minOccurs="0" maxOccurs="1"/>
         </sequence>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The provider class. Providers implement service functionality (operations).
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.gmf.runtime.common.ui.services.marker.AbstractMarkerNavigationProvider"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="Priority">
      <complexType>
         <attribute name="name" use="required">
            <annotation>
               <documentation>
                  The name of the provider priority, i.e. Lowest, Low, Medium, High, or Highest.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="Lowest">
                  </enumeration>
                  <enumeration value="Low">
                  </enumeration>
                  <enumeration value="Medium">
                  </enumeration>
                  <enumeration value="High">
                  </enumeration>
                  <enumeration value="Highest">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="MarkerType">
      <complexType>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name of the marker type that the provider understands.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="Policy">
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The provider policy class. Provider policies can optionally be associated with providers to determine whether the providers provide a given operation.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         Following is an example of a marker navigation provider extension:
&lt;p&gt;
&lt;pre&gt;
   &lt;extension 
      id=&quot;markerNavigationProviders&quot; 
      name=&quot;%ext.markerNavigationProviders&quot; 
      point=&quot;org.eclipse.gmf.runtime.common.ui.services.markerNavigationProviders&quot;&gt; 
      &lt;MarkerNavigationProvider 
         class=&quot;org.eclipse.test.project.ui.providers.ModelerMarkerNavigationProvider&quot;&gt; 
         &lt;Priority 
            name=&quot;Highest&quot;&gt; 
         &lt;/Priority&gt; 
         &lt;MarkerType 
            name=&quot;org.eclipse.test.bookmark&quot;&gt; 
         &lt;/MarkerType&gt; 
      &lt;/MarkerNavigationProvider&gt; 
   &lt;/extension&gt; 
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The value of the &lt;tt&gt;class&lt;/tt&gt; attribute must represent a subclass of
         &lt;tt&gt;org.eclipse.gmf.runtime.common.core.service.AbstractProvider&lt;/tt&gt; that implements
         &lt;tt&gt;org.eclipse.gmf.runtime.common.ui.services.marker.IMarkerNavigationProvider&lt;/tt&gt;.
      </documentation>
   </annotation>

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

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
        Copyright (c) 2003  IBM Corporation and others.&lt;br&gt;
	All rights reserved. This program and the accompanying materials 
	are made available under the terms of the Eclipse Public License v1.0 
	which accompanies this distribution, and is available at 
	&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

      </documentation>
   </annotation>

</schema>
