blob: 4b925004c32fd30ae0024c57ba643fccb6d7e70e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="validator.css"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.emf.validation.constraintProviders">
<category
id="org.eclipse.rmf.reqif10.constraints"
mandatory="false"
name="Constraints for ReqIF 1.0">
Constraints for validating ReqIF 1.0 models
</category>
<constraintProvider
cache="true"
mode="Batch">
<package
namespaceUri="http://www.omg.org/spec/ReqIF/20110401/reqif.xsd">
</package>
<constraints categories="org.eclipse.rmf.reqif10.constraints">
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.1"
lang="JAVA"
mode="Batch"
name="C1.1 EnumValue - existence of long name"
severity="ERROR"
statusCode="0101">
<message>
[C1.1] LongName is not set
</message>
<description>
LongName of EnumValue must be set
</description>
<target
class="EnumValue">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.2"
lang="JAVA"
mode="Batch"
name="C1.2 AttributeDefinitionBoolean - existence of long name"
severity="ERROR"
statusCode="0102">
<message>
[C1.2] LongName is not set
</message>
<description>
LongName of AttributeDefinitionBoolean must be set
</description>
<target
class="AttributeDefinitionBoolean">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.3"
lang="JAVA"
mode="Batch"
name="C1.3 AttributeDefinitionDate - existence of long name"
severity="ERROR"
statusCode="0103">
<message>
[C1.3] LongName is not set
</message>
<description>
LongName of AttributeDefinitionDate must be set
</description>
<target
class="AttributeDefinitionDate">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.4"
lang="JAVA"
mode="Batch"
name="C1.4 AttributeDefinitionEnumeration - existence of long name"
severity="ERROR"
statusCode="0104">
<message>
[C1.4] LongName is not set
</message>
<description>
LongName of AttributeDefinitionEnumeration must be set
</description>
<target
class="AttributeDefinitionEnumeration">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.5"
lang="JAVA"
mode="Batch"
name="C1.5 AttributeDefinitionInteger - existence of long name"
severity="ERROR"
statusCode="0105">
<message>
[C1.5] LongName is not set
</message>
<description>
LongName of AttributeDefinitionInteger must be set
</description>
<target
class="AttributeDefinitionInteger">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.6"
lang="JAVA"
mode="Batch"
name="C1.6 AttributeDefinitionReal - existence of long name"
severity="ERROR"
statusCode="0106">
<message>
[C1.6] LongName is not set
</message>
<description>
LongName of AttributeDefinitionReal must be set
</description>
<target
class="AttributeDefinitionReal">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.7"
lang="JAVA"
mode="Batch"
name="C1.7 AttributeDefinitionString - existence of long name"
severity="ERROR"
statusCode="0107">
<message>
[C1.7] LongName is not set
</message>
<description>
LongName of AttributeDefinitionString must be set
</description>
<target
class="AttributeDefinitionString">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.8"
lang="JAVA"
mode="Batch"
name="C1.8 AttributeDefinitionXHTML - existence of long name"
severity="ERROR"
statusCode="0108">
<message>
[C1.8] LongName is not set
</message>
<description>
LongName of AttributeDefinitionXHTML must be set
</description>
<target
class="AttributeDefinitionXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.9"
lang="JAVA"
mode="Batch"
name="C1.9 RelationGroup - existence of long name"
severity="ERROR"
statusCode="0109">
<message>
[C1.9] LongName is not set
</message>
<description>
LongName of RelationGroup must be set
</description>
<target
class="RelationGroup">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.IdentifiableLongNameExistenceConstraint"
id="C1.10"
lang="JAVA"
mode="Batch"
name="C1.10 DatatypeDefinition - existence of long name"
severity="WARNING"
statusCode="0101">
<message>
[C1.10] LongName of {0} is not set
</message>
<description>
LongName of DatatypeDefinition must be set
</description>
<target
class="DatatypeDefinition">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeDefinitionDatatypeDefinitionExistenceConstraint"
id="C2.0"
lang="JAVA"
mode="Batch"
name="C2.0 AttributeDefinition - existence of DatatypeDefinitiion"
severity="ERROR"
statusCode="0200">
<message>
[C2.3] DatatypeDefinition is not set
</message>
<target
class="AttributeDefinition">
</target>
<description>
DatatypeDefinition of AttributeDefinition must be set
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeDefinitionDatatypeDefinitionTypeConstraint"
id="C2.1"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C2.1 AttributeDefinitionBoolean - existence of DatatypeDefinitionBoolean"
severity="ERROR"
statusCode="0201">
<message>
[C2.1] DatatypeDefinition of wrong type
</message>
<target
class="AttributeDefinitionBoolean">
</target>
<description>
DatatypeDefinition of AttributeDefinition must have correct type
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeDefinitionDatatypeDefinitionTypeConstraint"
id="C2.6"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C2.6 AttributeDefinitionReal - existence of DatatypeDefinitionReal"
severity="ERROR"
statusCode="0201">
<message>
[C2.6] DatatypeDefinition of wrong type
</message>
<target
class="AttributeDefinitionReal">
</target>
<description>
DatatypeDefinition of AttributeDefinition must have correct type
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.DatatypeDefinitionMinValueConstraint"
id="C3.1"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C3.1 DatatypeDefinition - minValue is set"
severity="ERROR"
statusCode="0301">
<target
class="DatatypeDefinitionReal">
</target>
<target
class="DatatypeDefinitionInteger"></target>
<message>
[C3.1] minValue of {0} is not set
</message>
<description>
minValue of DatatypeDefinitionReal or DatatypeDefinitionInteger is set.
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.DatatypeDefinitionMaxValueConstraint"
id="C3.2"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C3.2 DatatypeDefinition - maxValue is set"
severity="ERROR"
statusCode="0302">
<target
class="DatatypeDefinitionReal">
</target>
<target
class="DatatypeDefinitionInteger">
</target>
<message>
[C3.2] maxValue of {0} is not set
</message>
<description>
maxValue of DatatypeDefinitionReal or DatatypeDefinitionInteger is set.
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.DatatypeDefinitionAccuracyConstraint"
id="C3.3"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C3.3 DatatypeDefinition - Accuracy is set"
severity="ERROR"
statusCode="0303">
<target
class="DatatypeDefinitionReal">
</target>
<message>
[C3.3] accuracy of {0} is not set
</message>
<description>
Accuracy of DatatypeDefinitionReal is set.
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.DatatypeDefinitionMaxLengthConstraint"
id="C3.4"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C3.4 DatatypeDefinition - maxLength is set"
severity="ERROR"
statusCode="0304">
<target
class="DatatypeDefinitionString">
</target>
<message>
[C3.4] maxLength of {0} is not set
</message>
<description>
maxLength of DatatypeDefinitionString is set.
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.DatatypeDefinitionRealMinMax"
id="C3.5"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C3.5 DatatypeDefinitionReal - minValue&lt;=maxValue"
severity="WARNING"
statusCode="0305">
<message>
[C3.5] DatatypeDefinitionReal minValue is greater than maxValue
</message>
<description>
minValue of DatatypeDefinitionReal should not be greater than maxValue
</description>
<target
class="DatatypeDefinitionReal">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.DatatypeDefinitionIntegerMinMax"
id="C3.6"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C3.6 DatatypeDefinitionInteger - minValue&lt;=maxValue"
severity="WARNING"
statusCode="0306">
<message>
[C3.6] DatatypeDefinitionInteger minValue is greater than maxValue
</message>
<description>
minValue of DatatypeDefinitionInteger should not be greater than maxValue
</description>
<target
class="DatatypeDefinitionInteger">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueRealInRange"
id="AV1.1"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.1 AttributeValueReal - between min and max"
severity="ERROR"
statusCode="0401">
<message>
[AV1.1] AttributeValueReal {0} than {1}
</message>
<description>
theValue of AttributeValueReal must be between minValue and maxValue
</description>
<target
class="AttributeValueReal">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueIntegerInRange"
id="AV1.2"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.2 AttributeValueInteger - between min and max"
severity="ERROR"
statusCode="0402">
<message>
[AV1.2] AttributeValueInteger {0} than {1}
</message>
<description>
theValue of AttributeValueInteger must be between minValue and maxValue
</description>
<target
class="AttributeValueInteger">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueStringMaxLength"
id="AV1.3"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.3 AttributeValueString - not longer than maxLength"
severity="ERROR"
statusCode="0403">
<message>
[AV1.3] AttributeValueString is longer than maxLength
</message>
<description>
theValue of AttributeString must not be longer than maxLength
</description>
<target
class="AttributeValueString">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueEnumObeysMultiValued"
id="AV1.4"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.4 AttributeValueEnumeration Multiplicity - max one value if not multiValued"
severity="ERROR"
statusCode="0404">
<message>
[AV1.4] AttributeValueEnumeration is single valued but contains {0} values
</message>
<description>
AttributeValueEnumeration must not contain more than one Value if its not multiValued
</description>
<target
class="AttributeValueEnumeration">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueRealAccuracy"
id="AV1.5"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.5 AttributeValueReal - not more precise that accuracy"
severity="ERROR"
statusCode="0405">
<message>
[AV1.5] AttributeValueReal {0} has {1} fracional digits but accuracy of DatatypeDefinition is {2}
</message>
<description>
AttributeValueReal must not have more fractional digits than accuracy
</description>
<target
class="AttributeValueReal">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueXHTMLObjectsExist"
id="AV1.6"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.6 AttributeValueXHTML - referenced objects exist"
severity="ERROR"
statusCode="0406">
<message>
[AV1.6] AttributeValueXHTML references {0} that can not be found: {1}
</message>
<description>
All files referenced in an AttributeValueXHTML by a file URI exist
</description>
<target
class="AttributeValueXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueXHTMLObjectsIsNotFile"
id="AV1.6a"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.6a AttributeValueXHTML - referenced objects is file"
severity="WARNING"
statusCode="0406">
<message>
[AV1.6a] AttributeValueXHTML references {0} non-file object(s) {1}
</message>
<description>
object should be referenced by a file URI
</description>
<target
class="AttributeValueXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueEnumValidValue"
id="AV1.7"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="AV1.7 AttributeValueEnumeration uses valid EnumValue"
severity="ERROR"
statusCode="0404">
<message>
[AV1.7] AttributeValueEnumeration uses an illegal EnumValue
</message>
<description>
An AttributeValueEnumeration only references values that are defined by its DatatypeDefinitionEnumeration
</description>
<target
class="AttributeValueEnumeration">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueXHTMLNoClassAttribute"
id="C6.1"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C6.1 The XHTML class attribute must not be used"
severity="ERROR"
statusCode="0406">
<message>
[C6.1] AttributeValueXHTML contains {0} with a class attribute: {1}
</message>
<description>
The &apos;class&apos; attribute of the XHTML Core Attribute Collection MUST NOT be used
</description>
<target
class="AttributeValueXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueXHTMLObjectsAlternative"
id="C6.2"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C6.2 Alternative images and texts must be exported"
severity="ERROR"
statusCode="0406">
<message>
[C6.2] AttributeValueXHTML missing alternative for data object
</message>
<description>
For XHTML object elements that refer to an external object that is not an image with the MIME-Type image/png, an alternative image AND an alternative text MUST be provided
</description>
<target
class="AttributeValueXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueXHTMLObjectOnlyAllowedAttributes"
id="C6.3"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C6.3 Only data, type, width and height are allowed as attributes for XHTML &lt;object&gt;"
severity="ERROR"
statusCode="0406">
<message>
[C6.3] AttributeValueXHTML contains {0} with illegal attributes: {1}
</message>
<description>
If there is a specific MIME-type for the application that handles the external object, it MUST be stored in the &apos;type&apos; attribute and no other attributes than &apos;data&apos;, &apos;type&apos;, &apos;width&apos; and &apos;height&apos; MUST be used in that case.
</description>
<target
class="AttributeValueXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeValueXHTMLObjectsDataAttributePresent"
id="C6.4"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="C6.4 The location of an external object MUST be specified via the data attribute"
severity="ERROR"
statusCode="0406">
<message>
[C6.4] AttributeValueXHTML missing data attribute in {0}
</message>
<description>
The location of an external object MUST be specified via the &apos;data&apos; attribute.
</description>
<target
class="AttributeValueXHTML">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.schema"
id="SCHEMA"
lang="JAVA"
mode="Batch"
name="SCHEMA - reqif complies xsd schema"
severity="ERROR"
statusCode="10001">
<message>
[XSD] {0}
</message>
<description>
The input file must comply the xsd schema
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.emfschema"
id="EMFSCHEMA"
lang="JAVA"
mode="Batch"
name="EMFSCHEMA - reqif complies xsd schema"
severity="ERROR"
statusCode="10002">
<message>
{0}
</message>
<description>
the Reqif must comply the emf-schema
</description>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.AttributeNamePrefix"
id="IG_R3"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="IG_R3 Name of Attributes should always be represented without a ReqIF. prefix"
severity="WARNING"
statusCode="0406">
<message>
[IG_R3] Name of Attribute {0} has a ReqIF. prefix
</message>
<description>
According to the Implementaion Guide&quot;Names of user defined attributes should always be represented in ReqIF XML documents and requirements authoring tools without a ReqIF. prefix.&quot; [2.3.2 R3]
Note: this constraint checks for the prefix &quot;ReqIF.&quot; case sensitive
</description>
<target
class="AttributeDefinition">
</target>
</constraint>
<constraint
class="org.eclipse.rmf.reqif10.constraints.ConflictingIsEditableForAttributeDefinitionEnumeration"
id="IG_2_10"
isEnabledByDefault="true"
lang="JAVA"
mode="Batch"
name="IG_2_10 Conflicting IsEditable for AttributeDefinitionEnumeration"
severity="WARNING"
statusCode="0406">
<message>
[IG_2_10] DatatypeDefinitionEnumeration {0} is referenced by different AttributeDefinitionEnumeration of which some are editable and some are not editable
</message>
<description>
Generates a Warning if a DatatypeDefinitionEnumeration is used by more than one AttributeDefinition and one of the is set to isEditable while another one is set to Non-Editable.
See Implementaion Guide Chapter 2.10 How to resolve conflicting isEditable values for AttributeDefinitionEnumeration:
[...]Concerning AttributeDefinitionEnumeration, the following conflict may occur as a consequence:
one AttributeDefinitionEnumeration element (A) is editable a different AttributeDefinitionEnumeration element (B) is not editable both AttributeDefinitionEnumeration elements refer to the same DatatypeDefinitionEnumeration, which defines the enumeration literals.
If that conflict occurs, it may not be clear whether the first AttributeDefinitionEnumeration element (A) should be treated as editable or not, as changes to the list of enumeration literals will be visible in the second AttributeDefinitionEnumeration element (B).
</description>
<target
class="DatatypeDefinitionEnumeration">
</target>
</constraint>
</constraints>
</constraintProvider>
</extension>
<!-- to be moved into user application -->
<extension point="org.eclipse.emf.validation.constraintBindings">
<binding
context="EObjectContext"
category="org.eclipse.rmf.reqif10.constraints"/>
</extension>
<extension point="org.eclipse.emf.validation.constraintBindings">
<clientContext id="EObjectContext">
<enablement>
<instanceof value="org.eclipse.emf.ecore.EObject"/>
</enablement>
</clientContext>
</extension>
</plugin>