<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.mylyn.tasks.bugs" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.mylyn.tasks.bugs" id="support" name="Integrated Support Extensions"/>
      </appInfo>
      <documentation>
         The &lt;code&gt;org.eclipse.mylyn.tasks.bugs.support&lt;/code&gt; extension points allows client to provide information for integrated bug reporting. Extensions can specify properties such as URLS and components for creating entries in bug repositories and provide mappings from bundles to bug repositories. These mappings are used by the corresponding UI to support creating bug reports from error log entries for instance.

&lt;p&gt;Clients need to specify a &lt;code&gt;provider&lt;/code&gt; extension to describe the entity that provides support and one or more &lt;code&gt;product&lt;/code&gt; extensions to describe supported products. Supported products are typically represented by installed features. For each product one or more &lt;code&gt;mapping&lt;/code&gt; extension can be specified to associate bundles based on their namespace with the product.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="category" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="mapping" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="product" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="provider" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="handler" 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="mapping">
      <annotation>
         <documentation>
            This element specifies a mapping from a bundle namespace to a product. For example, the namespace prefix &lt;code&gt;org.eclipse&lt;/code&gt; will match all org.eclipse.* bundles such as &lt;code&gt;org.eclipse.platform&lt;/code&gt; or &lt;code&gt;org.eclipse.mylyn.tasks.ui&lt;/code&gt;. 

&lt;p&gt;More specific namespaces include or override properties specified in less specific ones for the same product. For example a mapping for the &lt;code&gt;org.eclipse.tasks.ui&lt;/code&gt; namespace includes all properties specified for the &lt;code&gt;org.eclipse&lt;/code&gt; namespace.

&lt;p&gt;Mappings are only enabled if the nested properties are sufficient to create a bug report, e.g. a repository needs to be specified. To force enablement of a mapping the special value property with the name &lt;code&gt;org.eclipse.mylyn.tasks.bugs.mappingComplete&lt;/code&gt; and value &lt;code&gt;true&lt;/code&gt; can be specified.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="repository" minOccurs="0" maxOccurs="1"/>
            <element ref="property" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="namespace" type="string" use="required">
            <annotation>
               <documentation>
                  The namespace prefix, e.g. &lt;code&gt;org.eclipse&lt;/code&gt;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="productId" type="string">
            <annotation>
               <documentation>
                  The id of the product for this mapping.
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.mylyn.tasks.bugs.support/product/@id"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="repository">
      <annotation>
         <documentation>
            This element specifies the properties for a bug repository. The repository must exist in the workspace, e.g. through defining a repository template extension.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="url" type="string" use="required">
            <annotation>
               <documentation>
                  The repository URL.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="kind" type="string" use="required">
            <annotation>
               <documentation>
                  The connector kind of the repository.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="product">
      <annotation>
         <documentation>
            A supported product.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The uniquie identifier for this product.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="providerId" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the support provider for this product.
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.mylyn.tasks.bugs.support/provider/@id"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The name of the product. If omitted and &lt;code&gt;featureId&lt;/code&gt; or &lt;code&gt;pluginId&lt;/code&gt; is specified the name is obtained from the referenced bundle.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A description for the product. If omitted and &lt;code&gt;featureId&lt;/code&gt; or &lt;code&gt;pluginId&lt;/code&gt; is specified the description is obtained from the referenced bundle.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  A 32x32 branding icon. If omitted and &lt;code&gt;featureId&lt;/code&gt; or &lt;code&gt;pluginId&lt;/code&gt; is specified the icon is obtained from the referenced bundle.
               </documentation>
               <appInfo>
                  <meta.attribute kind="resource"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="url" type="string">
            <annotation>
               <documentation>
                  A URL for the product.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="featureId" type="string">
            <annotation>
               <documentation>
                  The id of a feature that specifies branding information for the product. If specified the product extension is only enabled if the corresponding feature is installed.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="pluginId" type="string">
            <annotation>
               <documentation>
                  The id of a bundle that specifies branding information for the product. If specified the product extension is only enabled if the corresponding plug-in is installed.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="property">
      <annotation>
         <documentation>
            This element specifies the value of an attribute for creating bug reports.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name of the attribute. Supportednames are: &lt;pre&gt;component, description, priority, product, severity, summary, version&lt;/pre&gt;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="value" type="string" use="required">
            <annotation>
               <documentation>
                  The value of the attribute.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="category">
      <annotation>
         <documentation>
            Categories group support providers.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The uniquie identifier for this category.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name of this category.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  An optional description for this category.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="weight" type="string">
            <annotation>
               <documentation>
                  An optional integer value to to rank the category. Categories with lower weights are shown first.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="provider">
      <annotation>
         <documentation>
            This elements describes an entity that provides support.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The uniquie identifier for this provider.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="categoryId" type="string" use="required">
            <annotation>
               <documentation>
                  The category of this provider.
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.mylyn.tasks.bugs.support/category/@id"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name of this category.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  An optional description for this provider.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  A 32x32 branding icon.
               </documentation>
               <appInfo>
                  <meta.attribute kind="resource"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="url" type="string">
            <annotation>
               <documentation>
                  An optional URL for this provider.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="handler">
      <annotation>
         <documentation>
            This element specifies a class that handles instances of &lt;code&gt;ISupportRequest&lt;/code&gt;s. The framework provides a default handler that creates bug reports based on mappings but clients may customize behavior by providing their own handler.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique id of this handler.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string">
            <annotation>
               <documentation>
                  The implementation class for this handler.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.mylyn.tasks.bugs.AbstractSupportHandler:"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;pre&gt;
&lt;extension point=&quot;org.eclipse.mylyn.tasks.bugs.support&quot;&gt;
  &lt;!-- category for grouping providers --&gt;
  &lt;category 
    description=&quot;Community supported open source projects&quot;
    id=&quot;org.eclipse.mylyn.tasks.bugs.openSource&quot; name=&quot;Open Source Community&quot;
    weight=&quot;900&quot; /&gt;
  &lt;!-- provider that specifies branding --&gt;
  &lt;provider 
    categoryId=&quot;org.eclipse.mylyn.tasks.bugs.openSource&quot;
    description=&quot;Eclipse open source community bug tracker&quot; 
    icon=&quot;icons/branding32/eclipse.png&quot;
    id=&quot;org.eclipse&quot; 
    name=&quot;Eclipse.org&quot; 
    url=&quot;http://eclipse.org/&quot; /&gt;
  &lt;!-- mapping for all org.eclipse.* bundles --&gt;
  &lt;mapping namespace=&quot;org.eclipse&quot;&gt;
    &lt;repository kind=&quot;bugzilla&quot; url=&quot;https://bugs.eclipse.org/bugs&quot;/&gt;
  &lt;/mapping&gt;
  &lt;!-- supported product --&gt;
  &lt;product 
    id=&quot;org.eclipse.mylyn&quot;
    featureId=&quot;org.eclipse.mylyn_feature&quot; 
    pluginId=&quot;org.eclipse.mylyn&quot; 
    providerId=&quot;org.eclipse&quot; 
    url=&quot;http://eclipse.org/mylyn/support/&quot; /&gt;
  &lt;!-- specific mapping for org.eclipse.mylyn.* bundles --&gt;
  &lt;mapping namespace=&quot;org.eclipse.mylyn&quot; productId=&quot;org.eclipse.mylyn&quot;&gt;
    &lt;property name=&quot;product&quot; value=&quot;Mylyn&quot;/&gt;
  &lt;/mapping&gt;
  &lt;!-- more specific mapping for org.eclipse.mylyn.tasks.* bundles --&gt;
  &lt;mapping namespace=&quot;org.eclipse.mylyn.tasks&quot; productId=&quot;org.eclipse.mylyn&quot;&gt;
    &lt;property name=&quot;component&quot; value=&quot;Tasks&quot;/&gt;
  &lt;/mapping&gt;
&lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>



   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2009 Tasktop Technologies and others.
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
http://www.eclipse.org/legal/epl-v10.html
      </documentation>
   </annotation>

</schema>
