blob: de2904893a96ac2006c8beedf02fa7bc9d7f3594 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="com.ibm.etools.validation">
<annotation>
<appInfo>
<meta.schema plugin="com.ibm.etools.validation" id="validator" name="Validator"/>
</appInfo>
<documentation>
This extension point give the ability to create a new validator that can validate resources in a Java Project. The validator needs to registered for a given nature of the project for it to run on that project. The user can specifiy file filters to filter out files that need to be validated. The new validator registered by the project nature on the project can be run manually or incrementally if Auto Build is turned on, during incremental builds the changed delta of files are only validated if those files are part of the validation filters specified.
</documentation>
</annotation>
<element name="extension">
<complexType>
<sequence>
<element ref="validator"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="validator">
<complexType>
<sequence>
<element ref="projectNature" minOccurs="1" maxOccurs="unbounded"/>
<element ref="filter" minOccurs="1" maxOccurs="unbounded"/>
<element ref="helper"/>
<element ref="dependentValidator" minOccurs="0" maxOccurs="1"/>
<element ref="run"/>
<element ref="markerId" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="to" type="string">
<annotation>
<documentation>
Optional migration tag
</documentation>
</annotation>
</attribute>
<attribute name="from" type="string">
<annotation>
<documentation>
Optional migration tag
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="projectNature">
<complexType>
<sequence>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="include" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="filter">
<complexType>
<attribute name="objectClass" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="nameFilter" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="caseSensitive" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="action" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="helper">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="dependentValidator">
<complexType>
<attribute name="depValValue" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="run">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="incremental" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="enabled" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="fullBuild" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="async" type="boolean">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="markerId">
<annotation>
<documentation>
The markerId element is is used to get a custom problem marker for the custom validator implemented using this extension point
This markerId element also needs a corresponding problemMarker extension to be defined bythis validator with the same Id as the makerIdValue for the validator to have its own marker type. Here is an example of the a problemMarker extension defined for a markerIdValue &quot;FooMarker&quot;
&lt;extension
id=&quot;FooMarker&quot;
name=&quot;%EJB_VALIDATION_PROBLEMMARKER_NAME&quot;
point=&quot;org.eclipse.core.resources.markers&quot;&gt;
&lt;super
type=&quot;org.eclipse.wst.validation.problemmarker&quot;&gt;
&lt;/super&gt;
&lt;persistent
value=&quot;true&quot;&gt;
&lt;/persistent&gt;
&lt;attribute
name=&quot;owner&quot;&gt;
&lt;/attribute&gt;
&lt;attribute
name=&quot;validationSeverity&quot;&gt;
&lt;/attribute&gt;
&lt;attribute
name=&quot;targetObject&quot;&gt;
&lt;/attribute&gt;
&lt;attribute
name=&quot;groupName&quot;&gt;
&lt;/attribute&gt;
&lt;attribute
name=&quot;messageId&quot;&gt;
&lt;/attribute&gt;
&lt;/extension&gt;
Without a problemMarker extension defined, the customer validator will use the base Validation Message problemMarker type.
</documentation>
</annotation>
<complexType>
<attribute name="markerIdValue" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
</documentation>
</annotation>
</schema>