<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.validation" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.validation" id="exclude" name="Validator Exclusion"/>
      </appInfo>
      <documentation>
         A way to add additional exclusion filters to a V2 validator.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="validator" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  A short id that is unique within the plug-in, so that this set of extra exclusion filters can be identified.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The short user friendly name for the exclusion.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="validator">
      <annotation>
         <documentation>
            Identifies the validator that is being extended.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="exclude"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The fully qualifed validator id that is being extended.
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="exclude">
      <annotation>
         <documentation>
            This contains a set of exclusion rules, used in filtering which resources get validated. If any of these rules are matched, then the validator is not called on this resource.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="rules"/>
         </sequence>
      </complexType>
   </element>

   <element name="fileext">
      <annotation>
         <documentation>
            A file extension, for example html.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="ext" type="string" use="required">
            <annotation>
               <documentation>
                  The file extension, for example html.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="caseSensitive" type="boolean">
            <annotation>
               <documentation>
                  If the file extension is case sensitive, then this needs to be set to true.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="projectNature">
      <annotation>
         <documentation>
            Used to filter on project natures.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The fully qualified project nature id, for example &quot;org.eclipse.jdt.core.javanature&quot;.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="targetRuntime">
      <annotation>
         <documentation>
            Used to filter on target runtime.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The target runtime id.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="file">
      <complexType>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The file or folder name. The file name can be fully qualified, that is it starts with a leading slash (&quot;/&quot;), or it can be a relative name. Folder names are separated with the forward slash (&quot;/&quot;) character.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="caseSensitive" type="boolean">
            <annotation>
               <documentation>
                  If the file name is not case senstitive, then this needs to be set to false.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="type" use="required">
            <annotation>
               <documentation>
                  Type of name, there are three choices. &lt;ul&gt;&lt;li&gt;folder - specifies a project relative folder name.&lt;/li&gt;&lt;li&gt;file - a simple file name (i.e. no path information).&lt;/li&gt;&lt;li&gt;full - a fully qualified (project relative) file name.&lt;/li&gt;&lt;/ul&gt;
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="folder">
                  </enumeration>
                  <enumeration value="file">
                  </enumeration>
                  <enumeration value="full">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
      </complexType>
   </element>

   <element name="rules">
      <annotation>
         <documentation>
            A set of rules for determining if a resource is passed to this validator or not. The rules are OR&apos;ed together.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="fileext" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="file" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="projectNature" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="facet" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="contentType" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="targetRuntime" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="pattern" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
      </complexType>
   </element>

   <element name="facet">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The facet id.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="contentType">
      <annotation>
         <documentation>
            Used to filter based on content types.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The content type id.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="exactMatch" type="boolean">
            <annotation>
               <documentation>
                  Set to true if the content type needs to match exactly. Set to false if sub types are considered matches as well.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="pattern">
      <annotation>
         <documentation>
            Holds a regualr expression, that matches the resource&apos;s project relative name.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="regex" type="string" use="required">
            <annotation>
               <documentation>
                  Holds a Java regular expression. See the class java.util.regex.Pattern for more details. This regular expression is matched against a resource&apos;s project relative path, after that path has been converted into a portable path.
&lt;p&gt;The path will always start with a forward slash (/) so that folder names can be more easily matched.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="caseSensitive" type="boolean">
            <annotation>
               <documentation>
                  If the file name is not case senstitive, then this needs to be set to false.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;!-- A plug-in is turning off the T1A validator for projects that have the ModuleCoreNature --&gt;
 &lt;extension
       id=&quot;exclude1&quot;
       point=&quot;org.eclipse.wst.validation.exclude&quot;&gt;
    &lt;validator
          id=&quot;org.eclipse.wst.common.tests.validation.T1A&quot;&gt;
       &lt;exclude&gt;
          &lt;rules&gt;
             &lt;projectNature
                   id=&quot;org.eclipse.jst.j2ee.ModuleCoreNature&quot;&gt;
             &lt;/projectNature&gt;
          &lt;/rules&gt;
       &lt;/exclude&gt;
    &lt;/validator&gt;
 &lt;/extension&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         Provisional API.
      </documentation>
   </annotation>



</schema>
