<?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 project natures.
         </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>
