Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "COSMOS SML Test Plan"

Line 24: Line 24:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/InValidCycles.xml?root=Technology_Project&view=markup InvalidCyclesWithAcyclicReferences]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/InValidCycles.xml?root=Technology_Project&view=markup InvalidCyclesWithAcyclicReferences]
 
| This test verifies that it is an error to create cycles with instances of acyclic references
 
| This test verifies that it is an error to create cycles with instances of acyclic references
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/InValidDerivation.xml?root=Technology_Project&view=markup InvalidDerivationWithAcyclicAttribute]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/InValidDerivation.xml?root=Technology_Project&view=markup InvalidDerivationWithAcyclicAttribute]
 
| A model is invalid if it has a reference type R1 with sml:acyclic=?true? and another reference type R2 derived from R1 such that sml:acyclic=?false?
 
| A model is invalid if it has a reference type R1 with sml:acyclic=?true? and another reference type R2 derived from R1 such that sml:acyclic=?false?
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidateDefinition.xml?root=Technology_Project&view=markup ValidateAcyclicDefinition]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidateDefinition.xml?root=Technology_Project&view=markup ValidateAcyclicDefinition]
 
| This test returns a warning if the sml:acyclic attribute is defined on an element declaration
 
| This test returns a warning if the sml:acyclic attribute is defined on an element declaration
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidCycles1.xml?root=Technology_Project&view=markup ValidCyclesWithAcyclicReference1]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidCycles1.xml?root=Technology_Project&view=markup ValidCyclesWithAcyclicReference1]
 
| Let R1 and R2 be two reference types with sml:acyclic=?true?. Then a model is valid if it has inter-document cycles that using instances of both R1 and R2
 
| Let R1 and R2 be two reference types with sml:acyclic=?true?. Then a model is valid if it has inter-document cycles that using instances of both R1 and R2
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidCycles2.xml?root=Technology_Project&view=markup ValidCyclesWithAcyclicReference2]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidCycles2.xml?root=Technology_Project&view=markup ValidCyclesWithAcyclicReference2]
 
| Let R1 be a reference type with sml:acyclic=?false?. Then a model is valid if it has inter-document cycles using instances of R1
 
| Let R1 be a reference type with sml:acyclic=?false?. Then a model is valid if it has inter-document cycles using instances of R1
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidCycles3.xml?root=Technology_Project&view=markup ValidCycles3]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidCycles3.xml?root=Technology_Project&view=markup ValidCycles3]
 
| This test verifies that it is valid to create cycles within documents, as long as instances of acyclic references do not create cycles.
 
| This test verifies that it is valid to create cycles within documents, as long as instances of acyclic references do not create cycles.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidDerivation.xml?root=Technology_Project&view=markup ValidDerivationWithAcyclicAttribute]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/acyclic/ValidDerivation.xml?root=Technology_Project&view=markup ValidDerivationWithAcyclicAttribute]
 
| A model is valid if it has a reference type R1 with sml:acyclic=?false? and another reference type R2 derived from R1 such that sml:acyclic=?true?
 
| A model is valid if it has a reference type R1 with sml:acyclic=?false? and another reference type R2 derived from R1 such that sml:acyclic=?true?
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Deref Tests ===
 
=== Deref Tests ===
Line 61: Line 61:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/InValidDerefUsageWithScheme.xml?root=Technology_Project&view=markup InvalidSchemeDerefUsed]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/InValidDerefUsageWithScheme.xml?root=Technology_Project&view=markup InvalidSchemeDerefUsed]
 
| This test verifies that the code returns error when an smlxpath1 scheme contains a deref() in the evaluator. The deref() XPath extension function MUST NOT be present in the expression evaluation context function library when processing the location path in SMLXPath1_SchemeData : SMLXPath1_Fragment_ID ::= 'smlxpath1' '(' SMLXPath1_SchemeData ')' SMLXPath1_SchemeData ::= XPath1.0_LocationPath
 
| This test verifies that the code returns error when an smlxpath1 scheme contains a deref() in the evaluator. The deref() XPath extension function MUST NOT be present in the expression evaluation context function library when processing the location path in SMLXPath1_SchemeData : SMLXPath1_Fragment_ID ::= 'smlxpath1' '(' SMLXPath1_SchemeData ')' SMLXPath1_SchemeData ::= XPath1.0_LocationPath
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/Multiple.xml?root=Technology_Project&view=markup MultipleDeref]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/Multiple.xml?root=Technology_Project&view=markup MultipleDeref]
 
| Verify that deref() can accept a node set of reference elements, i.e., elements for which sml:ref=?true?, and return a node set that is union of the element nodes targeted by references in the node set such that the reference targets exactly one element in the model. The returned node set must not contain any nodes for references that do not target an element in the model.
 
| Verify that deref() can accept a node set of reference elements, i.e., elements for which sml:ref=?true?, and return a node set that is union of the element nodes targeted by references in the node set such that the reference targets exactly one element in the model. The returned node set must not contain any nodes for references that do not target an element in the model.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/MultipleNonRoot.xml?root=Technology_Project&view=markup MultipleXpointer]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/MultipleNonRoot.xml?root=Technology_Project&view=markup MultipleXpointer]
 
| Verify that deref() can resolve references that target non-root elements using XPointer scheme.
 
| Verify that deref() can resolve references that target non-root elements using XPointer scheme.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/Single.xml?root=Technology_Project&view=markup SingleRef]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/deref/Single.xml?root=Technology_Project&view=markup SingleRef]
 
| Verify that deref() can resolve a single reference. The deref() function must return a single node (i.e. a node set with a single node) that corresponds to the element node of the reference’s target when the reference targets a single element in the model.
 
| Verify that deref() can resolve a single reference. The deref() function must return a single node (i.e. a node set with a single node) that corresponds to the element node of the reference’s target when the reference targets a single element in the model.
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Identity Tests ===
 
=== Identity Tests ===
Line 86: Line 86:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/InValidKeyDuplicate.xml?root=Technology_Project&view=markup InValidKeyDuplicate]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/InValidKeyDuplicate.xml?root=Technology_Project&view=markup InValidKeyDuplicate]
 
| Verify that a model with a key constraint is invalid if the field values are not unique.
 
| Verify that a model with a key constraint is invalid if the field values are not unique.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/InValidKeyMissing.xml?root=Technology_Project&view=markup InValidKeyMissing]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/InValidKeyMissing.xml?root=Technology_Project&view=markup InValidKeyMissing]
 
| Verify that a model with a key constraint is invalid if some field values are missing.
 
| Verify that a model with a key constraint is invalid if some field values are missing.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/InValidUnique.xml?root=Technology_Project&view=markup InValidUnique]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/InValidUnique.xml?root=Technology_Project&view=markup InValidUnique]
 
| Verify that a model with a unique constraint is invalid if the field values are not unique.
 
| Verify that a model with a unique constraint is invalid if the field values are not unique.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintDefinition.xml?root=Technology_Project&view=markup InvalidConstraintDefinition]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintDefinition.xml?root=Technology_Project&view=markup InvalidConstraintDefinition]
 
| This test returns a warning when the id constraints are defined on a complexType. They should be defined on an element declaration.
 
| This test returns a warning when the id constraints are defined on a complexType. They should be defined on an element declaration.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefAttributes.xml?root=Technology_Project&view=markup InvalidConstraintRefAttributes]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefAttributes.xml?root=Technology_Project&view=markup InvalidConstraintRefAttributes]
 
| Verifies that the code returns an error when the name attribute is specified on a constraint with the ref attribute specified. Ref attribute I am referring to here is the one defined on the keybase type. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: 1.The name attribute MUST NOT be specified.
 
| Verifies that the code returns an error when the name attribute is specified on a constraint with the ref attribute specified. Ref attribute I am referring to here is the one defined on the keybase type. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: 1.The name attribute MUST NOT be specified.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefElements.xml?root=Technology_Project&view=markup InvalidConstraintRefElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefElements.xml?root=Technology_Project&view=markup InvalidConstraintRefElements]
 
| Verifies that the code returns an error when the sml:field and sml:selector child elements are defined on a constraint with the ref attribute specified. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: 2.The sml:selector and sml:field child elements MUST NOT be specified.
 
| Verifies that the code returns an error when the sml:field and sml:selector child elements are defined on a constraint with the ref attribute specified. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: 2.The sml:selector and sml:field child elements MUST NOT be specified.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefKey.xml?root=Technology_Project&view=markup InvalidConstraintRefKey]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefKey.xml?root=Technology_Project&view=markup InvalidConstraintRefKey]
 
| Verifies that the code returns an error when the key's ref attribute value resolves to an element which is not a key.
 
| Verifies that the code returns an error when the key's ref attribute value resolves to an element which is not a key.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefKeyref.xml?root=Technology_Project&view=markup InvalidConstraintRefKeyref]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefKeyref.xml?root=Technology_Project&view=markup InvalidConstraintRefKeyref]
 
| Verifies that the code returns an error when the keyref's ref attribute value resolves to a key element instead of a keyref element. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint [..]
 
| Verifies that the code returns an error when the keyref's ref attribute value resolves to a key element instead of a keyref element. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint [..]
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefNoKey.xml?root=Technology_Project&view=markup InvalidConstraintRefNoKey]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefNoKey.xml?root=Technology_Project&view=markup InvalidConstraintRefNoKey]
 
| Verifies that the code returns an error when the key's ref attribute value doesn't resolve to an SML key constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If the element is sml:key, then the value of ref attribute MUST resolve to an SML key constraint.
 
| Verifies that the code returns an error when the key's ref attribute value doesn't resolve to an SML key constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If the element is sml:key, then the value of ref attribute MUST resolve to an SML key constraint.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefNoKeyref.xml?root=Technology_Project&view=markup InvalidConstraintRefNoKeyRef]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefNoKeyref.xml?root=Technology_Project&view=markup InvalidConstraintRefNoKeyRef]
 
| Verifies that the code returns an error when the keyref's ref attribute value doesn't resolve to an SML keyref constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint, and the refer attribute MUST NOT be specified.
 
| Verifies that the code returns an error when the keyref's ref attribute value doesn't resolve to an SML keyref constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint, and the refer attribute MUST NOT be specified.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefNoUnique.xml?root=Technology_Project&view=markup InvalidConstraintRefNoKeyUnique]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefNoUnique.xml?root=Technology_Project&view=markup InvalidConstraintRefNoKeyUnique]
 
| Verifies that the code returns an error when the unique's ref attribute value doesn't resolve to an SML unique constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If the element is sml:unique, then the value of the ref attribute MUST resolve to an SML unique constraint.
 
| Verifies that the code returns an error when the unique's ref attribute value doesn't resolve to an SML unique constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If the element is sml:unique, then the value of the ref attribute MUST resolve to an SML unique constraint.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefUnique.xml?root=Technology_Project&view=markup InvalidConstraintRefUnique]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintRefUnique.xml?root=Technology_Project&view=markup InvalidConstraintRefUnique]
 
| Verifies that the code returns an error when the unique's ref attribute value resolves to an element that is not of type sml:unique.
 
| Verifies that the code returns an error when the unique's ref attribute value resolves to an element that is not of type sml:unique.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintSubstitution.xml?root=Technology_Project&view=markup InvalidConstraintSubstitution]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidConstraintSubstitution.xml?root=Technology_Project&view=markup InvalidConstraintSubstitution]
 
| This test verifies that substitution group elements validate id constraints defined on their group affiliation. If an element declaration S has a {substitution group affiliation} G, then its {SML identity-constraints definitions} also contains members of {SML identity-constraints definitions} of G.
 
| This test verifies that substitution group elements validate id constraints defined on their group affiliation. If an element declaration S has a {substitution group affiliation} G, then its {SML identity-constraints definitions} also contains members of {SML identity-constraints definitions} of G.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidDuplicateConstraintName.xml?root=Technology_Project&view=markup InvalidDuplicateConstraintName]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidDuplicateConstraintName.xml?root=Technology_Project&view=markup InvalidDuplicateConstraintName]
 
| This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration).
 
| This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration).
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidDuplicateConstraintName1.xml?root=Technology_Project&view=markup InvalidDuplicateConstraintName1]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidDuplicateConstraintName1.xml?root=Technology_Project&view=markup InvalidDuplicateConstraintName1]
 
| This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). The {SML identity-constraints definitions} of an element declaration MUST NOT contain two identity constraints with the same name.
 
| This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). The {SML identity-constraints definitions} of an element declaration MUST NOT contain two identity constraints with the same name.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidDuplicateConstraintNameSubst.xml?root=Technology_Project&view=markup InvalidDuplicateConstraintSubst]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/InValidDuplicateConstraintNameSubst.xml?root=Technology_Project&view=markup InvalidDuplicateConstraintSubst]
 
| This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). If a global element declaration S has a {substitution group affiliation} G, then {SML identity-constraints definitions} of S MUST be a superset of that of G.
 
| This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). If a global element declaration S has a {substitution group affiliation} G, then {SML identity-constraints definitions} of S MUST be a superset of that of G.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/ValidConstraintRefKeyref.xml?root=Technology_Project&view=markup ValidConstraintRefKeyref]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/sml1.1/ValidConstraintRefKeyref.xml?root=Technology_Project&view=markup ValidConstraintRefKeyref]
 
| Verifies that the code returns success when the keyref's ref attribute value resolves to a keyref element. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint [..]
 
| Verifies that the code returns success when the keyref's ref attribute value resolves to a keyref element. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint [..]
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyref.xml?root=Technology_Project&view=markup ValidKeyref]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyref.xml?root=Technology_Project&view=markup ValidKeyref]
 
| Verify keyref constraint.
 
| Verify keyref constraint.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyUnique.xml?root=Technology_Project&view=markup ValidKeyUnique]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyUnique.xml?root=Technology_Project&view=markup ValidKeyUnique]
 
| Verify that a model with a key and unique constraint is valid if the field values are unique, though some field values for the unique constraint may be missing.
 
| Verify that a model with a key and unique constraint is valid if the field values are unique, though some field values for the unique constraint may be missing.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyUniqueInScopeOnly.xml?root=Technology_Project&view=markup ValidKeyUniqueInScopeOnly]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyUniqueInScopeOnly.xml?root=Technology_Project&view=markup ValidKeyUniqueInScopeOnly]
 
| Verify that a model with a key and unique constraint is valid if the constraints are satisfied in scope even though the constraints may not be satisfied globally in the model.
 
| Verify that a model with a key and unique constraint is valid if the constraints are satisfied in scope even though the constraints may not be satisfied globally in the model.
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Model Completeness Tests ===
 
=== Model Completeness Tests ===
Line 175: Line 175:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/incomplete/InValid.xml?root=Technology_Project&view=markup InValidInCompleteModel]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/incomplete/InValid.xml?root=Technology_Project&view=markup InValidInCompleteModel]
 
| This test verifies that an incomplete model is invalid
 
| This test verifies that an incomplete model is invalid
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
=== Miscellaneous Tests ===
+
=== miscellaneous ===
Tests that check miscellaneous issues to ensure valid SML documents <font color=blue>(from "miscellaneous folder" ... should probably be merged with "others" folder)</font>
+
<font color=blue>No description provided</font>
  
 
{|{{BMTableStyle}}
 
{|{{BMTableStyle}}
Line 188: Line 188:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/miscellaneous/InvalidRemoteDocument.xml?root=Technology_Project&view=markup TestDocumentLocator]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/miscellaneous/InvalidRemoteDocument.xml?root=Technology_Project&view=markup TestDocumentLocator]
 
| A model is invalid if one/more documents in the model are specified through an external locator and the validator is unable to retrieve these documents.
 
| A model is invalid if one/more documents in the model are specified through an external locator and the validator is unable to retrieve these documents.
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Miscellaneous Tests ===
 
=== Miscellaneous Tests ===
Line 201: Line 201:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidAliasValue.xml?root=Technology_Project&view=markup InValidAliasValue]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidAliasValue.xml?root=Technology_Project&view=markup InValidAliasValue]
 
| This test verifies that the code returns an error when an alias contains an invalid value.
 
| This test verifies that the code returns an error when an alias contains an invalid value.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidAliasWithFragment.xml?root=Technology_Project&view=markup InValidAliasHasFragmentComp]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidAliasWithFragment.xml?root=Technology_Project&view=markup InValidAliasHasFragmentComp]
 
| This test verifies that the code returns an error when an alias contains a fragment component.
 
| This test verifies that the code returns an error when an alias contains a fragment component.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidBase64Content.xml?root=Technology_Project&view=markup InvalidBase64Content]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidBase64Content.xml?root=Technology_Project&view=markup InvalidBase64Content]
 
| This test verifies that the code returns an error when a document that is a child of the base64Data element is not encoded in Base64 format.
 
| This test verifies that the code returns an error when a document that is a child of the base64Data element is not encoded in Base64 format.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidDataContentBase64.xml?root=Technology_Project&view=markup InvalidDataContentBase64]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidDataContentBase64.xml?root=Technology_Project&view=markup InvalidDataContentBase64]
 
| This test verifies that the code returns an error when a document that is a child of the data element is encoded in base64 format.
 
| This test verifies that the code returns an error when a document that is a child of the data element is encoded in base64 format.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidDuplicateAliases.xml?root=Technology_Project&view=markup InValidDuplicateAliases]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidDuplicateAliases.xml?root=Technology_Project&view=markup InValidDuplicateAliases]
 
| This test verifies that the code returns an error when two aliases resolve to the same URI
 
| This test verifies that the code returns an error when two aliases resolve to the same URI
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidMultipleDocument.xml?root=Technology_Project&view=markup InvalidMultipleDocument]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/InValidMultipleDocument.xml?root=Technology_Project&view=markup InvalidMultipleDocument]
 
| This test verifies that the code returns an error if the data element contains more than one document.
 
| This test verifies that the code returns an error if the data element contains more than one document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/remote-document.xml?root=Technology_Project&view=markup TestDocumentLocator]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/remote-document.xml?root=Technology_Project&view=markup TestDocumentLocator]
 
| Tests the correct implementation of the locator element
 
| Tests the correct implementation of the locator element
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/rulesWithMultiplePattern.xml?root=Technology_Project&view=markup TestRulesWithMultiplePatterns]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/rulesWithMultiplePattern.xml?root=Technology_Project&view=markup TestRulesWithMultiplePatterns]
 
| Tests that rules that have multiple patterns are handled correctly
 
| Tests that rules that have multiple patterns are handled correctly
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/rulesWithMultipleRulesUnderOnePattern.xml?root=Technology_Project&view=markup TestMultipleRulesUnderOnePattern]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/rulesWithMultipleRulesUnderOnePattern.xml?root=Technology_Project&view=markup TestMultipleRulesUnderOnePattern]
 
| Tests that patterns with multiple rules are handled correctly
 
| Tests that patterns with multiple rules are handled correctly
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/SchemaBindingWarning.xml?root=Technology_Project&view=markup ValidateSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/SchemaBindingWarning.xml?root=Technology_Project&view=markup ValidateSchemaBinding]
 
| Used to ensure that a warning is displayed when a schema binding element is used in an SML-IF document
 
| Used to ensure that a warning is displayed when a schema binding element is used in an SML-IF document
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/schemaValidationFailure.xml?root=Technology_Project&view=markup TestSchemaValidationFailure]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/schemaValidationFailure.xml?root=Technology_Project&view=markup TestSchemaValidationFailure]
 
| Tests that validation against the schema fails.
 
| Tests that validation against the schema fails.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidBase64Content.xml?root=Technology_Project&view=markup ValidBase64Content]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidBase64Content.xml?root=Technology_Project&view=markup ValidBase64Content]
 
| This test verifies that the code returns success when a document that is a child of the base64Data element is encoded in Base64 format.
 
| This test verifies that the code returns success when a document that is a child of the base64Data element is encoded in Base64 format.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidDefaultSchemaBinding.xml?root=Technology_Project&view=markup ValidateDefaultSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidDefaultSchemaBinding.xml?root=Technology_Project&view=markup ValidateDefaultSchemaBinding]
 
| This test verifies that the code is using the defaultSchema information to locate the definition file for instance documents not included in schemaBinding. In this sample, the Course1 and Course2 instances should be validated against the University.xsd schema. Course3 will be validated against the Univerity_v1.xsd schema since Course3 is not included in any schemaBinding element.
 
| This test verifies that the code is using the defaultSchema information to locate the definition file for instance documents not included in schemaBinding. In this sample, the Course1 and Course2 instances should be validated against the University.xsd schema. Course3 will be validated against the Univerity_v1.xsd schema since Course3 is not included in any schemaBinding element.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidEmptyDocument.xml?root=Technology_Project&view=markup ValidEmptyDocument]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidEmptyDocument.xml?root=Technology_Project&view=markup ValidEmptyDocument]
 
| This test verifies that it is valid to have an empty document.
 
| This test verifies that it is valid to have an empty document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidNoSchemaBinding.xml?root=Technology_Project&view=markup ValidateNoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidNoSchemaBinding.xml?root=Technology_Project&view=markup ValidateNoSchemaBinding]
 
| If a namespace ns is not included in any schemaBinding or defaultSchema element, then the schema defining this namespace is built by composing all definition documents whose target namespace matches ns. This resulted schema will be used to validate any instance document using ns namespace. The test should return an error on acyclic
 
| If a namespace ns is not included in any schemaBinding or defaultSchema element, then the schema defining this namespace is built by composing all definition documents whose target namespace matches ns. This resulted schema will be used to validate any instance document using ns namespace. The test should return an error on acyclic
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidSchemaBinding.xml?root=Technology_Project&view=markup ValidateSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/others/ValidSchemaBinding.xml?root=Technology_Project&view=markup ValidateSchemaBinding]
 
| This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. In this sample, there are two xsd files with the same namespace, tns. The instance documents are bound to the first xsd definition, University.xsd using the schemaBinding element. As a result, the validation should be run using the schema defined in University.xsd and ignore University_v1.xsd. The validation returns success since Univesity.xsd does not have the acyclic attribute specified on the OptionalCourseRefType type. If the schemaBinding is ignored, then the validator should return error ( the schema file used to validate the instances will be composed from both xsd files; the first definition of the OptionalCourseRefType type in the University.xsd will be overwritten by the OptionalCourseRefType - acyclic = true in the University_v1.xsd )
 
| This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. In this sample, there are two xsd files with the same namespace, tns. The instance documents are bound to the first xsd definition, University.xsd using the schemaBinding element. As a result, the validation should be run using the schema defined in University.xsd and ignore University_v1.xsd. The validation returns success since Univesity.xsd does not have the acyclic attribute specified on the OptionalCourseRefType type. If the schemaBinding is ignored, then the validator should return error ( the schema file used to validate the instances will be composed from both xsd files; the first definition of the OptionalCourseRefType type in the University.xsd will be overwritten by the OptionalCourseRefType - acyclic = true in the University_v1.xsd )
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Reference Tests ===
 
=== Reference Tests ===
Line 274: Line 274:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/DanglingRef.xml?root=Technology_Project&view=markup DanglingRef]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/DanglingRef.xml?root=Technology_Project&view=markup DanglingRef]
 
| A valid model can contain dangling references
 
| A valid model can contain dangling references
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/IntraDocumentRef.xml?root=Technology_Project&view=markup IntraDocumentRef]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/IntraDocumentRef.xml?root=Technology_Project&view=markup IntraDocumentRef]
 
| It is valid for a reference to target an element in the same document.
 
| It is valid for a reference to target an element in the same document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidBaseURI.xml?root=Technology_Project&view=markup InValidBaseURI]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidBaseURI.xml?root=Technology_Project&view=markup InValidBaseURI]
 
| A model is invalid if base URI is not valid
 
| A model is invalid if base URI is not valid
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidBaseURIWithFragment.xml?root=Technology_Project&view=markup InValidBaseURIHasFragmentComp]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidBaseURIWithFragment.xml?root=Technology_Project&view=markup InValidBaseURIHasFragmentComp]
 
| A model is invalid if the base URI contains a fragment
 
| A model is invalid if the base URI contains a fragment
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidDanglingReference.xml?root=Technology_Project&view=markup InvalidRefTwoSchemes]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidDanglingReference.xml?root=Technology_Project&view=markup InvalidRefTwoSchemes]
 
| A model is invalid if it contains a reference with two schemes, one resolving to an element and the other dangling
 
| A model is invalid if it contains a reference with two schemes, one resolving to an element and the other dangling
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidInconsistentReference.xml?root=Technology_Project&view=markup InvalidRefOneSchemeResolves]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidInconsistentReference.xml?root=Technology_Project&view=markup InvalidRefOneSchemeResolves]
 
| A model is invalid if a reference contains multiple schemes resolving to different elements.
 
| A model is invalid if a reference contains multiple schemes resolving to different elements.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidMissingBaseURI.xml?root=Technology_Project&view=markup InValidMissingBaseURIAttr1]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidMissingBaseURI.xml?root=Technology_Project&view=markup InValidMissingBaseURIAttr1]
 
| A model is invalid if a reference is relative and the base URI is missing
 
| A model is invalid if a reference is relative and the base URI is missing
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidMultipleElements.xml?root=Technology_Project&view=markup InvalidRefResolvesToMultipleElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidMultipleElements.xml?root=Technology_Project&view=markup InvalidRefResolvesToMultipleElements]
 
| A model is invalid if a reference scheme resolves to multiple elements
 
| A model is invalid if a reference scheme resolves to multiple elements
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidMultipleElementsVariation.xml?root=Technology_Project&view=markup InvalidRefResolvesToMultipleElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidMultipleElementsVariation.xml?root=Technology_Project&view=markup InvalidRefResolvesToMultipleElements]
Line 318: Line 318:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidSchemeResult.xml?root=Technology_Project&view=markup InvalidSchemeResultContainsNonElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidSchemeResult.xml?root=Technology_Project&view=markup InvalidSchemeResultContainsNonElements]
 
| A model is invalid if a reference using smlxpath1 scheme resolves to anything other than an element set.
 
| A model is invalid if a reference using smlxpath1 scheme resolves to anything other than an element set.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidSchemeSyntax.xml?root=Technology_Project&view=markup InvalidSchemeSyntaxError]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidSchemeSyntax.xml?root=Technology_Project&view=markup InvalidSchemeSyntaxError]
 
| A model is invalid if the content of the smlxpath1 scheme is syntactically incorrect.
 
| A model is invalid if the content of the smlxpath1 scheme is syntactically incorrect.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidSMLRefValue.xml?root=Technology_Project&view=markup InvalidSmlRefValue]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidSMLRefValue.xml?root=Technology_Project&view=markup InvalidSmlRefValue]
 
| A model is invalid if the value of sml:ref is not valid
 
| A model is invalid if the value of sml:ref is not valid
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidUnknownNamespace.xml?root=Technology_Project&view=markup InvalidSchemeNamespaceUnknown]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/InValidUnknownNamespace.xml?root=Technology_Project&view=markup InvalidSchemeNamespaceUnknown]
 
| A model is invalid if a reference using the smlxpath1 scheme uses a prefix without a bound namespace.
 
| A model is invalid if a reference using the smlxpath1 scheme uses a prefix without a bound namespace.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/MultipleRefToAnElement.xml?root=Technology_Project&view=markup MultipleRefToAnElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/MultipleRefToAnElement.xml?root=Technology_Project&view=markup MultipleRefToAnElement]
 
| It is valid for an element in a document to be targeted by multiple different references from other documents
 
| It is valid for an element in a document to be targeted by multiple different references from other documents
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/NullRefElement.xml?root=Technology_Project&view=markup NullRefElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/NullRefElement.xml?root=Technology_Project&view=markup NullRefElement]
 
| It is valid for a reference element to be null
 
| It is valid for a reference element to be null
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/RefToNonRootElement.xml?root=Technology_Project&view=markup RefToNonRootElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/RefToNonRootElement.xml?root=Technology_Project&view=markup RefToNonRootElement]
 
| It is valid for a reference in a document to target a non-root element in some other document.
 
| It is valid for a reference in a document to target a non-root element in some other document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/RefToRootElement.xml?root=Technology_Project&view=markup RefToRootElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/RefToRootElement.xml?root=Technology_Project&view=markup RefToRootElement]
 
| It is valid for a reference in a document to target the root element in some other document.
 
| It is valid for a reference in a document to target the root element in some other document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidDanglingReference.xml?root=Technology_Project&view=markup ValidRefTwoSchemesNilSpecified]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidDanglingReference.xml?root=Technology_Project&view=markup ValidRefTwoSchemesNilSpecified]
Line 358: Line 358:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidInconsistentReference.xml?root=Technology_Project&view=markup ValidRefNilrefSpecified1]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidInconsistentReference.xml?root=Technology_Project&view=markup ValidRefNilrefSpecified1]
 
| A model is valid if it contains a nullified reference with multiple schemes resolving to two different elements
 
| A model is valid if it contains a nullified reference with multiple schemes resolving to two different elements
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidMissingBaseURI.xml?root=Technology_Project&view=markup ValidMissingBaseURIAttr1]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidMissingBaseURI.xml?root=Technology_Project&view=markup ValidMissingBaseURIAttr1]
 
| A model is valid if there are not references and the base URI is missing
 
| A model is valid if there are not references and the base URI is missing
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidMultipleSchemes.xml?root=Technology_Project&view=markup ValidRefTwoSchemes]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidMultipleSchemes.xml?root=Technology_Project&view=markup ValidRefTwoSchemes]
 
| A model is valid if a reference contains two schemes, both resolving to the same element
 
| A model is valid if a reference contains two schemes, both resolving to the same element
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidNilRef.xml?root=Technology_Project&view=markup ValidNilRefDefinition]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidNilRef.xml?root=Technology_Project&view=markup ValidNilRefDefinition]
Line 378: Line 378:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidUnknownRefScheme.xml?root=Technology_Project&view=markup ValidRefOneSchemeResolvesOtherUnknown]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ValidUnknownRefScheme.xml?root=Technology_Project&view=markup ValidRefOneSchemeResolvesOtherUnknown]
 
| A model is valid if a reference contains two schemes, one resolving to an element and the other being unknown.
 
| A model is valid if a reference contains two schemes, one resolving to an element and the other being unknown.
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Rule Tests ===
 
=== Rule Tests ===
Line 391: Line 391:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValid.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValid.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule.
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidEnglish.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidEnglish.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the English resource bundle.
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the English resource bundle.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidGerman.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidGerman.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the German resource bundle.
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the German resource bundle.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidMissingBundle.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidMissingBundle.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale).
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale).
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidMissingBundlePackage.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidMissingBundlePackage.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale).
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale).
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidMissingKey.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InvalidLocidMissingKey.xml?root=Technology_Project&view=markup InValidSchematronRule]
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid is specified in a schematron to get a message from the English resource bundle. However, since the key "abc" does not exist in the resource bundle, the text in the schematron is used.
 
| A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid is specified in a schematron to get a message from the English resource bundle. However, since the key "abc" does not exist in the resource bundle, the text in the schematron is used.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml?root=Technology_Project&view=markup InValidRuleBinding-MultipleRulesSameDocument]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml?root=Technology_Project&view=markup InValidRuleBinding-MultipleRulesSameDocument]
 
| Two rules are bound to the same document - both fail.
 
| Two rules are bound to the same document - both fail.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleBinding-MultipleRulesSameDocument.xml?root=Technology_Project&view=markup InValidRuleBinding-MultipleRulesSameDocument]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleBinding-MultipleRulesSameDocument.xml?root=Technology_Project&view=markup InValidRuleBinding-MultipleRulesSameDocument]
 
| Two rules are bound to the same document. One passes, one fails.
 
| Two rules are bound to the same document. One passes, one fails.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleBinding.xml?root=Technology_Project&view=markup InValidRuleBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleBinding.xml?root=Technology_Project&view=markup InValidRuleBinding]
 
| A model with a Schematron rule that is bound to some instance documents is invalid if the rule is not satisfied by some bound documents.
 
| A model with a Schematron rule that is bound to some instance documents is invalid if the rule is not satisfied by some bound documents.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleType.xml?root=Technology_Project&view=markup InValidRuleType]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleType.xml?root=Technology_Project&view=markup InValidRuleType]
 
| A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type doesn't satisfy the rule.
 
| A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type doesn't satisfy the rule.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleTypeExtension.xml?root=Technology_Project&view=markup InValidRuleTypeExtension]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleTypeExtension.xml?root=Technology_Project&view=markup InValidRuleTypeExtension]
 
| A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type or a type derived from CT ( derivation by extension ) doesn't satisfy the rule.
 
| A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type or a type derived from CT ( derivation by extension ) doesn't satisfy the rule.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleTypeRestriction.xml?root=Technology_Project&view=markup InValidRuleTypeRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/InValidRuleTypeRestriction.xml?root=Technology_Project&view=markup InValidRuleTypeRestriction]
 
| A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type or a type derived from CT ( derivation by restriction ) doesn't satisfy the rule.
 
| A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type or a type derived from CT ( derivation by restriction ) doesn't satisfy the rule.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/Valid.xml?root=Technology_Project&view=markup ValidSchematronRule]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/Valid.xml?root=Technology_Project&view=markup ValidSchematronRule]
 
| A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule.
 
| A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/ValidNoSML.xml?root=Technology_Project&view=markup ValidXMLSchema]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/ValidNoSML.xml?root=Technology_Project&view=markup ValidXMLSchema]
 
| Basic XML Schema file, no SML extensions used.
 
| Basic XML Schema file, no SML extensions used.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/ValidRuleBinding.xml?root=Technology_Project&view=markup ValidRuleBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/Rules/ValidRuleBinding.xml?root=Technology_Project&view=markup ValidRuleBinding]
 
| A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents.
 
| A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents.
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Schema Binding Tests ===
 
=== Schema Binding Tests ===
Line 460: Line 460:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/DefaultBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/DefaultBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| Schema binding with a default binding
 
| Schema binding with a default binding
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidDefaultBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidDefaultBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. The default binding is used to bind S2 with I1, I2, and I3
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. The default binding is used to bind S2 with I1, I2, and I3
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidMissingBindingAlias.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidMissingBindingAlias.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| This SML-IF document attempts to bind S1 to dangling instance documents. It also attempts to bind the instance documents to a dangling definition document.
 
| This SML-IF document attempts to bind S1 to dangling instance documents. It also attempts to bind the instance documents to a dangling definition document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidMultipleBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidMultipleBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe both validation sets
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe both validation sets
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidMultipleSchemaBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidMultipleSchemaBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| This SML-IF document attempts to bind S1 to dangling instance documents. It also attempts to bind the instance documents to a dangling definition document.
 
| This SML-IF document attempts to bind S1 to dangling instance documents. It also attempts to bind the instance documents to a dangling definition document.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidSchemaBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/InvalidSchemaBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe the latter.
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe the latter.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/MissingDocumentAlias.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/MissingDocumentAlias.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| Schema binding with a missing document alias
 
| Schema binding with a missing document alias
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/MultipleBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/MultipleBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| Schema binding with multiple bindings
 
| Schema binding with multiple bindings
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/ValidSchemaBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/schemaBinding/ValidSchemaBinding.xml?root=Technology_Project&view=markup NoSchemaBinding]
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe the former.
 
| This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe the former.
| Complete
+
| <font color=green>Complete</font>
 +
|}
 +
=== smlModelUnits ===
 +
<font color=blue>No description provided</font>
 +
 
 +
{|{{BMTableStyle}}
 +
|-{{BMTHStyle}}
 +
!Test Name
 +
!Description
 +
!Status
 
|}
 
|}
 
=== Target Element Tests ===
 
=== Target Element Tests ===
Line 505: Line 514:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValid.xml?root=Technology_Project&view=markup InValidTargetElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValid.xml?root=Technology_Project&view=markup InValidTargetElement]
 
| If targetElement=?GTE? for a global element declaration E, then a model is invalid if the target of some instance of E in the model is not an instance of GTE.
 
| If targetElement=?GTE? for a global element declaration E, then a model is invalid if the target of some instance of E in the model is not an instance of GTE.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidDerivationByRestriction.xml?root=Technology_Project&view=markup InValidDerivationByRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidDerivationByRestriction.xml?root=Technology_Project&view=markup InValidDerivationByRestriction]
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then{target element} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {targetElement} as the EnrolledCourse element contained by the StudentType.
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then{target element} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {targetElement} as the EnrolledCourse element contained by the StudentType.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidSameNameElements.xml?root=Technology_Project&view=markup InValidSameNameElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidSameNameElements.xml?root=Technology_Project&view=markup InValidSameNameElements]
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {targetElement}.
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {targetElement}.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InvalidValue.xml?root=Technology_Project&view=markup ValidateTargetElementExists2]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InvalidValue.xml?root=Technology_Project&view=markup ValidateTargetElementExists2]
 
| This test verifies that the value of the sml:targetElement is a global element. Returns an error if the value does not match any element in the corresponding namespace. The test verifies that the error is displayed even when no model instances are defined for this IF document (ie the validation runs against the xsd file containing the sml:targetElement, regardless of the instances being defined in that model)
 
| This test verifies that the value of the sml:targetElement is a global element. Returns an error if the value does not match any element in the corresponding namespace. The test verifies that the error is displayed even when no model instances are defined for this IF document (ie the validation runs against the xsd file containing the sml:targetElement, regardless of the instances being defined in that model)
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup InValidTargetElementWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup InValidTargetElementWithSubstitutionGroup]
 
| Let targetElement=?GTE? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetElement attribute is not specified. Then a model is invalid if an instance of SubE targets an element that is not an instance of GTE or an instance of some GED in the substitution group hierarchy whose head is GTE.
 
| Let targetElement=?GTE? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetElement attribute is not specified. Then a model is invalid if an instance of SubE targets an element that is not an instance of GTE or an instance of some GED in the substitution group hierarchy whose head is GTE.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/Valid.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/Valid.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| If targetElement=?GTE? for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
 
| If targetElement=?GTE? for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidateTargetElementDefinition.xml?root=Technology_Project&view=markup ValidateTargetElementDefinition]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidateTargetElementDefinition.xml?root=Technology_Project&view=markup ValidateTargetElementDefinition]
 
| This test returns a warning if the sml:targetElement attribute is defined on a type definition.
 
| This test returns a warning if the sml:targetElement attribute is defined on a type definition.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidDerivationByRestriction.xml?root=Technology_Project&view=markup ValidDerivationByRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidDerivationByRestriction.xml?root=Technology_Project&view=markup ValidDerivationByRestriction]
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then{target element} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {targetElement} as the EnrolledCourse element contained by the StudentType.
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then{target element} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {targetElement} as the EnrolledCourse element contained by the StudentType.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidSameNameElements.xml?root=Technology_Project&view=markup ValidSameNameElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidSameNameElements.xml?root=Technology_Project&view=markup ValidSameNameElements]
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the basicGroup and graduateGroup have the same {targetElement}.
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the basicGroup and graduateGroup have the same {targetElement}.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| If targetElement=?GTE? for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
 
| If targetElement=?GTE? for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Target Required Tests ===
 
=== Target Required Tests ===
Line 554: Line 563:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValid.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValid.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
 
| If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidDerivationByRestriction.xml?root=Technology_Project&view=markup InValidDerivationByRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidDerivationByRestriction.xml?root=Technology_Project&view=markup InValidDerivationByRestriction]
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target required} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {target required} as the EnrolledCourse element contained by the StudentType.
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target required} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {target required} as the EnrolledCourse element contained by the StudentType.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidSameNameElements.xml?root=Technology_Project&view=markup InValidSameNameElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidSameNameElements.xml?root=Technology_Project&view=markup InValidSameNameElements]
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {target required}.
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {target required}.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidType.xml?root=Technology_Project&view=markup ValidTargetType]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidType.xml?root=Technology_Project&view=markup ValidTargetType]
 
| If targetType=?T? for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
 
| If targetType=?T? for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/InValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
 
| If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/valid.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/valid.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
 
| If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidateTargetRequiredDefinition.xml?root=Technology_Project&view=markup ValidateTargetRequireDefinition]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidateTargetRequiredDefinition.xml?root=Technology_Project&view=markup ValidateTargetRequireDefinition]
 
| This test returns a warning if the sml:targetRequired attribute is defined on a type definition.
 
| This test returns a warning if the sml:targetRequired attribute is defined on a type definition.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidDerivationByRestriction.xml?root=Technology_Project&view=markup ValidDerivationByRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidDerivationByRestriction.xml?root=Technology_Project&view=markup ValidDerivationByRestriction]
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target required} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {target required} as the EnrolledCourse element contained by the StudentType.
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target required} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {target required} as the EnrolledCourse element contained by the StudentType.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidFalseRequire.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidFalseRequire.xml?root=Technology_Project&view=markup ValidTargetElement]
 
| If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
 
| If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidSameNameElements.xml?root=Technology_Project&view=markup ValidSameNameElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidSameNameElements.xml?root=Technology_Project&view=markup ValidSameNameElements]
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the basicGroup and graduateGroup have the same {target required}.
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the basicGroup and graduateGroup have the same {target required}.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidType.xml?root=Technology_Project&view=markup ValidTargetType]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidType.xml?root=Technology_Project&view=markup ValidTargetType]
 
| If targetType="T" for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
 
| If targetType="T" for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidTypeFalse.xml?root=Technology_Project&view=markup ValidTargetType]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidTypeFalse.xml?root=Technology_Project&view=markup ValidTargetType]
 
| If targetType="T" for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
 
| If targetType="T" for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
 
| If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidWithSubstitutionGroupFalseRequire.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetRequired/ValidWithSubstitutionGroupFalseRequire.xml?root=Technology_Project&view=markup ValidTargetElementWithSubstitutionGroup]
 
| If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
 
| If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}
 
=== Target Type Tests ===
 
=== Target Type Tests ===
Line 619: Line 628:
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValid.xml?root=Technology_Project&view=markup InValidTargetType]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValid.xml?root=Technology_Project&view=markup InValidTargetType]
 
| If targetType=?T? for a global element declaration E, then a model is invalid if the type of the target of some instance of E in the model is not T
 
| If targetType=?T? for a global element declaration E, then a model is invalid if the type of the target of some instance of E in the model is not T
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidDerivationByRestriction.xml?root=Technology_Project&view=markup InValidDerivationByRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidDerivationByRestriction.xml?root=Technology_Project&view=markup InValidDerivationByRestriction]
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target type} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {targetType} as the EnrolledCourse element contained by the StudentType.
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target type} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {targetType} as the EnrolledCourse element contained by the StudentType.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidSameNameElements.xml?root=Technology_Project&view=markup InValidSameNameElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidSameNameElements.xml?root=Technology_Project&view=markup InValidSameNameElements]
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {target type}.
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {target type}.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidValue.xml?root=Technology_Project&view=markup ValidateTargetTypeExists1]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidValue.xml?root=Technology_Project&view=markup ValidateTargetTypeExists1]
 
| This test verifies that the value of the sml:targetType resolves to a global type definition. Returns an error if the value does not match any type in the corresponding namespace. The test verifies that the error is displayed even when no model instances are defined for this IF document (ie the validation runs against the xsd file containing the sml:targetType, regardless of the instances being defined in that model)
 
| This test verifies that the value of the sml:targetType resolves to a global type definition. Returns an error if the value does not match any type in the corresponding namespace. The test verifies that the error is displayed even when no model instances are defined for this IF document (ie the validation runs against the xsd file containing the sml:targetType, regardless of the instances being defined in that model)
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup InValidTargetTypeWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/InValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup InValidTargetTypeWithSubstitutionGroup]
 
| Let targetType=?T? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetType attribute is not specified. Then a model is invalid if an instance of SubE targets an element that is not an instance of T or an instance of some derived type of T.
 
| Let targetType=?T? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetType attribute is not specified. Then a model is invalid if an instance of SubE targets an element that is not an instance of T or an instance of some derived type of T.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/Valid.xml?root=Technology_Project&view=markup ValidTargetType]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/Valid.xml?root=Technology_Project&view=markup ValidTargetType]
 
| If targetType=?T? for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
 
| If targetType=?T? for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidateTargetTypeDefinition.xml?root=Technology_Project&view=markup ValidateTargetTypeDefinition]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidateTargetTypeDefinition.xml?root=Technology_Project&view=markup ValidateTargetTypeDefinition]
 
| This test returns a warning if the sml:targetType attribute is defined on a type definition.
 
| This test returns a warning if the sml:targetType attribute is defined on a type definition.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidDerivationByRestriction.xml?root=Technology_Project&view=markup ValidDerivationByRestriction]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidDerivationByRestriction.xml?root=Technology_Project&view=markup ValidDerivationByRestriction]
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target type} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {targetType} as the EnrolledCourse element contained by the StudentType.
 
| If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target type} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {targetType} as the EnrolledCourse element contained by the StudentType.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidSameNameElements.xml?root=Technology_Project&view=markup ValidSameNameElements]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidSameNameElements.xml?root=Technology_Project&view=markup ValidSameNameElements]
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup have the same {target type}.
 
| If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup have the same {target type}.
| Complete
+
| <font color=green>Complete</font>
 
|-
 
|-
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetTypeWithSubstitutionGroup]
 
| [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetType/ValidWithSubstitutionGroup.xml?root=Technology_Project&view=markup ValidTargetTypeWithSubstitutionGroup]
 
| Let targetType=?T? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetType attribute is not specified. Then a model is valid if all instances of SubE target elements whose type is T.
 
| Let targetType=?T? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetType attribute is not specified. Then a model is valid if all instances of SubE target elements whose type is T.
| Complete
+
| <font color=green>Complete</font>
 
|}
 
|}

Revision as of 17:13, 12 August 2008

COSMOS SML and SML-IF Validator Test Plan

Version 1.2, 11 August 2008

Authors: David Whiteman, Ali Mehregani

Introduction

The goal of this test plan is to document the test coverage for the SML and SML-IF validator found in the Eclipse COSMOS project. Using this document, we will describe the test suite used to achieve compliance with the SML and SML-IF 1.1 specifications.

The source for these tests can be found in the org.eclipse.cosmos.rm.validation.tests plug-in in CVS.

Test Suite

Acyclic Tests

Tests that check for valid cycles using sml:acyclic

Test Name Description Status
InvalidCyclesWithAcyclicReferences This test verifies that it is an error to create cycles with instances of acyclic references Complete
InvalidDerivationWithAcyclicAttribute A model is invalid if it has a reference type R1 with sml:acyclic=?true? and another reference type R2 derived from R1 such that sml:acyclic=?false? Complete
ValidateAcyclicDefinition This test returns a warning if the sml:acyclic attribute is defined on an element declaration Complete
ValidCyclesWithAcyclicReference1 Let R1 and R2 be two reference types with sml:acyclic=?true?. Then a model is valid if it has inter-document cycles that using instances of both R1 and R2 Complete
ValidCyclesWithAcyclicReference2 Let R1 be a reference type with sml:acyclic=?false?. Then a model is valid if it has inter-document cycles using instances of R1 Complete
ValidCycles3 This test verifies that it is valid to create cycles within documents, as long as instances of acyclic references do not create cycles. Complete
ValidDerivationWithAcyclicAttribute A model is valid if it has a reference type R1 with sml:acyclic=?false? and another reference type R2 derived from R1 such that sml:acyclic=?true? Complete

Deref Tests

Tests that ensure proper operation of the deref() function

Test Name Description Status
InvalidSchemeDerefUsed This test verifies that the code returns error when an smlxpath1 scheme contains a deref() in the evaluator. The deref() XPath extension function MUST NOT be present in the expression evaluation context function library when processing the location path in SMLXPath1_SchemeData : SMLXPath1_Fragment_ID ::= 'smlxpath1' '(' SMLXPath1_SchemeData ')' SMLXPath1_SchemeData ::= XPath1.0_LocationPath Complete
MultipleDeref Verify that deref() can accept a node set of reference elements, i.e., elements for which sml:ref=?true?, and return a node set that is union of the element nodes targeted by references in the node set such that the reference targets exactly one element in the model. The returned node set must not contain any nodes for references that do not target an element in the model. Complete
MultipleXpointer Verify that deref() can resolve references that target non-root elements using XPointer scheme. Complete
SingleRef Verify that deref() can resolve a single reference. The deref() function must return a single node (i.e. a node set with a single node) that corresponds to the element node of the reference’s target when the reference targets a single element in the model. Complete

Identity Tests

Tests that validate the resolution of key references to elements

Test Name Description Status
InValidKeyDuplicate Verify that a model with a key constraint is invalid if the field values are not unique. Complete
InValidKeyMissing Verify that a model with a key constraint is invalid if some field values are missing. Complete
InValidUnique Verify that a model with a unique constraint is invalid if the field values are not unique. Complete
InvalidConstraintDefinition This test returns a warning when the id constraints are defined on a complexType. They should be defined on an element declaration. Complete
InvalidConstraintRefAttributes Verifies that the code returns an error when the name attribute is specified on a constraint with the ref attribute specified. Ref attribute I am referring to here is the one defined on the keybase type. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: 1.The name attribute MUST NOT be specified. Complete
InvalidConstraintRefElements Verifies that the code returns an error when the sml:field and sml:selector child elements are defined on a constraint with the ref attribute specified. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: 2.The sml:selector and sml:field child elements MUST NOT be specified. Complete
InvalidConstraintRefKey Verifies that the code returns an error when the key's ref attribute value resolves to an element which is not a key. Complete
InvalidConstraintRefKeyref Verifies that the code returns an error when the keyref's ref attribute value resolves to a key element instead of a keyref element. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint [..] Complete
InvalidConstraintRefNoKey Verifies that the code returns an error when the key's ref attribute value doesn't resolve to an SML key constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If the element is sml:key, then the value of ref attribute MUST resolve to an SML key constraint. Complete
InvalidConstraintRefNoKeyRef Verifies that the code returns an error when the keyref's ref attribute value doesn't resolve to an SML keyref constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint, and the refer attribute MUST NOT be specified. Complete
InvalidConstraintRefNoKeyUnique Verifies that the code returns an error when the unique's ref attribute value doesn't resolve to an SML unique constraint. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If the element is sml:unique, then the value of the ref attribute MUST resolve to an SML unique constraint. Complete
InvalidConstraintRefUnique Verifies that the code returns an error when the unique's ref attribute value resolves to an element that is not of type sml:unique. Complete
InvalidConstraintSubstitution This test verifies that substitution group elements validate id constraints defined on their group affiliation. If an element declaration S has a {substitution group affiliation} G, then its {SML identity-constraints definitions} also contains members of {SML identity-constraints definitions} of G. Complete
InvalidDuplicateConstraintName This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). Complete
InvalidDuplicateConstraintName1 This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). The {SML identity-constraints definitions} of an element declaration MUST NOT contain two identity constraints with the same name. Complete
InvalidDuplicateConstraintSubst This test verifies that the code returns a error when two constraints defined on an element have the same name ( Constraints should have unique names; ie there cannot be an sml:key that has the same name with a sml:key, sml:keyref or sml:unique on the same element declaration). If a global element declaration S has a {substitution group affiliation} G, then {SML identity-constraints definitions} of S MUST be a superset of that of G. Complete
ValidConstraintRefKeyref Verifies that the code returns success when the keyref's ref attribute value resolves to a keyref element. For each sml:key, sml:unique, or sml:keyref element with the ref attribute specified, {SML identity-constraints definitions} contains the component resolved to by the actual value of the ref attribute, with the following conditions: If element is sml:keyref, then the value of the ref attribute MUST resolve to an SML keyref constraint [..] Complete
ValidKeyref Verify keyref constraint. Complete
ValidKeyUnique Verify that a model with a key and unique constraint is valid if the field values are unique, though some field values for the unique constraint may be missing. Complete
ValidKeyUniqueInScopeOnly Verify that a model with a key and unique constraint is valid if the constraints are satisfied in scope even though the constraints may not be satisfied globally in the model. Complete

Model Completeness Tests

Tests that check for the completeness of the model

Test Name Description Status
InValidInCompleteModel This test verifies that an incomplete model is invalid Complete

miscellaneous

No description provided

Test Name Description Status
TestDocumentLocator A model is invalid if one/more documents in the model are specified through an external locator and the validator is unable to retrieve these documents. Complete

Miscellaneous Tests

Tests that check miscellaneous issues to ensure valid SML documents

Test Name Description Status
InValidAliasValue This test verifies that the code returns an error when an alias contains an invalid value. Complete
InValidAliasHasFragmentComp This test verifies that the code returns an error when an alias contains a fragment component. Complete
InvalidBase64Content This test verifies that the code returns an error when a document that is a child of the base64Data element is not encoded in Base64 format. Complete
InvalidDataContentBase64 This test verifies that the code returns an error when a document that is a child of the data element is encoded in base64 format. Complete
InValidDuplicateAliases This test verifies that the code returns an error when two aliases resolve to the same URI Complete
InvalidMultipleDocument This test verifies that the code returns an error if the data element contains more than one document. Complete
TestDocumentLocator Tests the correct implementation of the locator element Complete
TestRulesWithMultiplePatterns Tests that rules that have multiple patterns are handled correctly Complete
TestMultipleRulesUnderOnePattern Tests that patterns with multiple rules are handled correctly Complete
ValidateSchemaBinding Used to ensure that a warning is displayed when a schema binding element is used in an SML-IF document Complete
TestSchemaValidationFailure Tests that validation against the schema fails. Complete
ValidBase64Content This test verifies that the code returns success when a document that is a child of the base64Data element is encoded in Base64 format. Complete
ValidateDefaultSchemaBinding This test verifies that the code is using the defaultSchema information to locate the definition file for instance documents not included in schemaBinding. In this sample, the Course1 and Course2 instances should be validated against the University.xsd schema. Course3 will be validated against the Univerity_v1.xsd schema since Course3 is not included in any schemaBinding element. Complete
ValidEmptyDocument This test verifies that it is valid to have an empty document. Complete
ValidateNoSchemaBinding If a namespace ns is not included in any schemaBinding or defaultSchema element, then the schema defining this namespace is built by composing all definition documents whose target namespace matches ns. This resulted schema will be used to validate any instance document using ns namespace. The test should return an error on acyclic Complete
ValidateSchemaBinding This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. In this sample, there are two xsd files with the same namespace, tns. The instance documents are bound to the first xsd definition, University.xsd using the schemaBinding element. As a result, the validation should be run using the schema defined in University.xsd and ignore University_v1.xsd. The validation returns success since Univesity.xsd does not have the acyclic attribute specified on the OptionalCourseRefType type. If the schemaBinding is ignored, then the validator should return error ( the schema file used to validate the instances will be composed from both xsd files; the first definition of the OptionalCourseRefType type in the University.xsd will be overwritten by the OptionalCourseRefType - acyclic = true in the University_v1.xsd ) Complete

Reference Tests

Tests that validate the implementation of sml:ref

Test Name Description Status
DanglingRef A valid model can contain dangling references Complete
IntraDocumentRef It is valid for a reference to target an element in the same document. Complete
InValidBaseURI A model is invalid if base URI is not valid Complete
InValidBaseURIHasFragmentComp A model is invalid if the base URI contains a fragment Complete
InvalidRefTwoSchemes A model is invalid if it contains a reference with two schemes, one resolving to an element and the other dangling Complete
InvalidRefOneSchemeResolves A model is invalid if a reference contains multiple schemes resolving to different elements. Complete
InValidMissingBaseURIAttr1 A model is invalid if a reference is relative and the base URI is missing Complete
InvalidRefResolvesToMultipleElements A model is invalid if a reference scheme resolves to multiple elements Complete
InvalidRefResolvesToMultipleElements A model is invalid if a reference element is identified with sml:ref="1" and its scheme resolves to multiple elements Incomplete
InvalidNillRefDefinition A model is invalid if sml:nilref is used on an element that is not a reference element Incomplete
SingleRef The deref() function of a nullified reference should not return a target even if the ref has a valid sml:uri child element. Incomplete
InvalidSchemeResultContainsNonElements A model is invalid if a reference using smlxpath1 scheme resolves to anything other than an element set. Complete
InvalidSchemeSyntaxError A model is invalid if the content of the smlxpath1 scheme is syntactically incorrect. Complete
InvalidSmlRefValue A model is invalid if the value of sml:ref is not valid Complete
InvalidSchemeNamespaceUnknown A model is invalid if a reference using the smlxpath1 scheme uses a prefix without a bound namespace. Complete
MultipleRefToAnElement It is valid for an element in a document to be targeted by multiple different references from other documents Complete
NullRefElement It is valid for a reference element to be null Complete
RefToNonRootElement It is valid for a reference in a document to target a non-root element in some other document. Complete
RefToRootElement It is valid for a reference in a document to target the root element in some other document. Complete
ValidRefTwoSchemesNilSpecified A model is valid if it contains a nullified reference with two schemes, one resolving to an element and another dangling. Incomplete
ValidRefNilrefSpecified1 A model is valid if it contains a none reference element (i.e. sml:ref is not specified) with multiple schemes resolving to two different elements Incomplete
ValidRefNilrefSpecified1 A model is valid if it contains a nullified reference with multiple schemes resolving to two different elements Complete
ValidMissingBaseURIAttr1 A model is valid if there are not references and the base URI is missing Complete
ValidRefTwoSchemes A model is valid if a reference contains two schemes, both resolving to the same element Complete
ValidNilRefDefinition A model is valid if sml:nilref is used in conjunction with sml:ref="true" Incomplete
ValidSchemeNamespaceInherited A model is valid when a reference using the smlxpath1 scheme uses a prefix declared in a containing element Incomplete
ValidRefOneSchemeResolvesOtherUnknown A model is valid if a reference contains two schemes, one resolving to an element and the other being unknown. Complete

Rule Tests

Tests that ensure that Schematron rules and rule bindings are correctly handled

Test Name Description Status
InValidSchematronRule A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Complete
InValidSchematronRule A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the English resource bundle. Complete
InValidSchematronRule A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the German resource bundle. Complete
InValidSchematronRule A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale). Complete
InValidSchematronRule A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale). Complete
InValidSchematronRule A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid is specified in a schematron to get a message from the English resource bundle. However, since the key "abc" does not exist in the resource bundle, the text in the schematron is used. Complete
InValidRuleBinding-MultipleRulesSameDocument Two rules are bound to the same document - both fail. Complete
InValidRuleBinding-MultipleRulesSameDocument Two rules are bound to the same document. One passes, one fails. Complete
InValidRuleBinding A model with a Schematron rule that is bound to some instance documents is invalid if the rule is not satisfied by some bound documents. Complete
InValidRuleType A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type doesn't satisfy the rule. Complete
InValidRuleTypeExtension A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type or a type derived from CT ( derivation by extension ) doesn't satisfy the rule. Complete
InValidRuleTypeRestriction A model with a Schematron rule defined for a type CT is invalid if at least one instance element of CT type or a type derived from CT ( derivation by restriction ) doesn't satisfy the rule. Complete
ValidSchematronRule A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule. Complete
ValidXMLSchema Basic XML Schema file, no SML extensions used. Complete
ValidRuleBinding A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents. Complete

Schema Binding Tests

Tests the optional schema binding feature of SML.

Test Name Description Status
NoSchemaBinding Schema binding with a default binding Complete
NoSchemaBinding This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. The default binding is used to bind S2 with I1, I2, and I3 Complete
NoSchemaBinding This SML-IF document attempts to bind S1 to dangling instance documents. It also attempts to bind the instance documents to a dangling definition document. Complete
NoSchemaBinding This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe both validation sets Complete
NoSchemaBinding This SML-IF document attempts to bind S1 to dangling instance documents. It also attempts to bind the instance documents to a dangling definition document. Complete
NoSchemaBinding This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe the latter. Complete
NoSchemaBinding Schema binding with a missing document alias Complete
NoSchemaBinding Schema binding with multiple bindings Complete
NoSchemaBinding This SML-IF document is composed of two schema documents, S1 & S2, and three instance documents, I1, I2, & I3. <S1, I1, I2, I3> is a valid set whereas <S2, I1, I2, I3> is invalid. Schema binding is used to describe the former. Complete

smlModelUnits

No description provided

Test Name Description Status

Target Element Tests

Tests that ensure correct implementation of targetElement

Test Name Description Status
InValidTargetElement If targetElement=?GTE? for a global element declaration E, then a model is invalid if the target of some instance of E in the model is not an instance of GTE. Complete
InValidDerivationByRestriction If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then{target element} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {targetElement} as the EnrolledCourse element contained by the StudentType. Complete
InValidSameNameElements If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {targetElement}. Complete
ValidateTargetElementExists2 This test verifies that the value of the sml:targetElement is a global element. Returns an error if the value does not match any element in the corresponding namespace. The test verifies that the error is displayed even when no model instances are defined for this IF document (ie the validation runs against the xsd file containing the sml:targetElement, regardless of the instances being defined in that model) Complete
InValidTargetElementWithSubstitutionGroup Let targetElement=?GTE? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetElement attribute is not specified. Then a model is invalid if an instance of SubE targets an element that is not an instance of GTE or an instance of some GED in the substitution group hierarchy whose head is GTE. Complete
ValidTargetElement If targetElement=?GTE? for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE. Complete
ValidateTargetElementDefinition This test returns a warning if the sml:targetElement attribute is defined on a type definition. Complete
ValidDerivationByRestriction If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then{target element} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {targetElement} as the EnrolledCourse element contained by the StudentType. Complete
ValidSameNameElements If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the basicGroup and graduateGroup have the same {targetElement}. Complete
ValidTargetElementWithSubstitutionGroup If targetElement=?GTE? for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE Complete

Target Required Tests

Tests that ensure correct validation of sml:targetRequired attribute

Test Name Description Status
ValidTargetElement If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE. Complete
InValidDerivationByRestriction If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target required} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {target required} as the EnrolledCourse element contained by the StudentType. Complete
InValidSameNameElements If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {target required}. Complete
ValidTargetType If targetType=?T? for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T Complete
ValidTargetElementWithSubstitutionGroup If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE Complete
ValidTargetElement If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE. Complete
ValidateTargetRequireDefinition This test returns a warning if the sml:targetRequired attribute is defined on a type definition. Complete
ValidDerivationByRestriction If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target required} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {target required} as the EnrolledCourse element contained by the StudentType. Complete
ValidTargetElement If targetElement=GTE for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE. Complete
ValidSameNameElements If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the basicGroup and graduateGroup have the same {target required}. Complete
ValidTargetType If targetType="T" for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T Complete
ValidTargetType If targetType="T" for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T Complete
ValidTargetElementWithSubstitutionGroup If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE Complete
ValidTargetElementWithSubstitutionGroup If targetElement="GTE" for a global element declaration E, then a model is valid if the target of each instances of E in the model is an instance of GTE, or an instance of some global element declaration in the substitution group hierarchy whose head is GTE Complete

Target Type Tests

Tests that ensure correct validation of targetType

Test Name Description Status
InValidTargetType If targetType=?T? for a global element declaration E, then a model is invalid if the type of the target of some instance of E in the model is not T Complete
InValidDerivationByRestriction If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target type} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType should have the same {targetType} as the EnrolledCourse element contained by the StudentType. Complete
InValidSameNameElements If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup should have the same {target type}. Complete
ValidateTargetTypeExists1 This test verifies that the value of the sml:targetType resolves to a global type definition. Returns an error if the value does not match any type in the corresponding namespace. The test verifies that the error is displayed even when no model instances are defined for this IF document (ie the validation runs against the xsd file containing the sml:targetType, regardless of the instances being defined in that model) Complete
InValidTargetTypeWithSubstitutionGroup Let targetType=?T? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetType attribute is not specified. Then a model is invalid if an instance of SubE targets an element that is not an instance of T or an instance of some derived type of T. Complete
ValidTargetType If targetType=?T? for a global element declaration E, then a model is valid if the type of the target of each instances of E in the model is T or a derived type of T Complete
ValidateTargetTypeDefinition This test returns a warning if the sml:targetType attribute is defined on a type definition. Complete
ValidDerivationByRestriction If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model of a complex type D, who is a restriction of another complex type B and B contains an element declaration EB with the same name as ED, then {target type} of ED is the same as that of EB. In the example below, the EnrolledCourse element contained by the GraduateStudentType has the same {targetType} as the EnrolledCourse element contained by the StudentType. Complete
ValidSameNameElements If two element declarations E1 and E2 have the same {namespace name} and {name} and they are both contained (directly, indirectly, or implicitly) in a content model of a complex type, then E1 and E2 have the same {target required}, {target element}, and {target type}. In the example below, the two EnrolledCourse elements contained by the StudentType through the graduateGroup and basicGroup have the same {target type}. Complete
ValidTargetTypeWithSubstitutionGroup Let targetType=?T? be specified for a GED E. Let SubE be another GED in the substitution group whose head element is E for which the targetType attribute is not specified. Then a model is valid if all instances of SubE target elements whose type is T. Complete

Back to the top