<?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="validatorGroup" name="Validator Group"/>
      </appinfo>
      <documentation>
         Defines a grouping for validators with listeners notified of group members&apos; activites.  Useful for pre-caching common information used by multiple validators and disposing of that information when they&apos;re all done.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appinfo>
            <meta.element />
         </appinfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="group" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="identifier">
            <annotation>
               <documentation>
                  A unique identifier for this extension
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  A name for this extension
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="listener">
      <annotation>
         <documentation>
            A listener for activities in this group.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The listener&apos;s class.
               </documentation>
               <appinfo>
                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.validation.IValidatorGroupListener"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="group">
      <annotation>
         <documentation>
            Declares a validator group.  A group may have multiple listeners.
         </documentation>
      </annotation>
      <complexType>
         <choice>
            <element ref="listener" minOccurs="1" maxOccurs="unbounded"/>
         </choice>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
               <appinfo>
                  <meta.attribute kind="identifier"/>
               </appinfo>
            </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>
         Define a listener that simply prints that it has been called.
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.wst.validation.validatorGroup&quot;&gt;
   &lt;group id=&quot;validatorGroup&quot;&gt;
     &lt;listener class=&quot;org.eclipse.wst.validation.example.ValidatorGroupListener&quot;/&gt;
   &lt;/group&gt;
&lt;/extension&gt;

public class org.eclipse.wst.validation.example.ValidatorGroupListener implements IValidatorGroupListener {

  public ValidatorGroupListener() {
  }

  public void validationFinishing(IResource resource, IProgressMonitor monitor, ValType valType, ValOperation operation) {
   System.out.println(&quot;Finishing:&quot; + resource.getFullPath());
  }

  public void validationStarting(IResource resource, IProgressMonitor monitor, ValType valType, ValOperation operation) {
   System.out.println(&quot;Starting:&quot; + resource.getFullPath());
  }
}
 
&lt;extension id=&quot;id&quot; name=&quot;name&quot; point=&quot;org.eclipse.wst.validation.validatorV2&quot;&gt;
  &lt;validator class=&quot;org.eclipse.wst.validation.example.Validator&quot;&gt;
    &lt;group id=&quot;org.eclipse.wst.validation.example.validatorGroup&quot;/&gt;
  &lt;/validator&gt;
&lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appinfo>
         <meta.section type="apiinfo"/>
      </appinfo>
      <documentation>
         Provisional API.
      </documentation>
   </annotation>


   <annotation>
      <appinfo>
         <meta.section type="copyright"/>
      </appinfo>
      <documentation>
         Copyright (c) 2008 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;https://www.eclipse.org/legal/epl-2.0/
&quot;&gt;https://www.eclipse.org/legal/epl-2.0/
&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
