<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.core.expressions">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.core.expressions" id="propertyTesters" name="Property Testers"/>
      </appInfo>
      <documentation>
         This extension point allows to add properties to an already existing type. Those
         properties can then be used inside the expression language&apos;s test expression
         element.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="propertyTester" 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="propertyTester">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  unique identifier for the property tester
               </documentation>
            </annotation>
         </attribute>
         <attribute name="type" type="string" use="required">
            <annotation>
               <documentation>
                  the type to be extended by this property tester
               </documentation>
               <appInfo>
                  <meta.attribute kind="java"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="namespace" type="string" use="required">
            <annotation>
               <documentation>
                  a unique id determining the name space the properties are added to
               </documentation>
            </annotation>
         </attribute>
         <attribute name="properties" type="string" use="required">
            <annotation>
               <documentation>
                  a comma separated list of properties provided by this property tester
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  the name of the class that implements the testing methods. The class must be public and extend
&lt;samp&gt;org.eclipse.core.expressions.PropertyTester&lt;/samp&gt; with a public 0-argument constructor.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.core.expressions.PropertyTester"/>
               </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 property tester contribution:

&lt;p&gt;
&lt;pre&gt;
  &lt;extension point=&quot;org.eclipse.core.expressions.propertyTesters&quot;&gt;
    &lt;propertyTester
      id=&quot;org.eclipse.jdt.ui.IResourceTester&quot;
      type=&quot;org.eclipse.core.resources.IResource&quot;
      namespace=&quot;org.eclipse.jdt.ui&quot;
      properties=&quot;canDelete&quot;
      class=&quot;org.eclipse.jdt.ui.internal.ResourceTester&quot;&gt;
    &lt;/propertyTester&gt;
  &lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The contributed class must extend &lt;code&gt;org.eclipse.core.expressions.PropertyTester&lt;/code&gt;
      </documentation>
   </annotation>


   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2001, 2004 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>
