Skip to main content

Notice: This Wiki is now read only and edits are no longer 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"

(Introduction)
Line 12: Line 12:
  
 
== Test Suite ==
 
== Test Suite ==
 +
 +
=== Acyclic Tests ===
 +
Tests that check for valid cycles using sml:acyclic
  
 
=== Acyclic Tests ===
 
=== Acyclic Tests ===
Line 21: Line 24:
 
acyclic\InValidCycles.xml ([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 src])
 
acyclic\InValidCycles.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 29: Line 32:
 
acyclic\InValidDerivation.xml ([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 src])
 
acyclic\InValidDerivation.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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”
  
Line 37: Line 40:
 
acyclic\ValidateDefinition.xml ([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 src])
 
acyclic\ValidateDefinition.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 45: Line 48:
 
acyclic\ValidCycles1.xml ([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 src])
 
acyclic\ValidCycles1.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 53: Line 56:
 
acyclic\ValidCycles2.xml ([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 src])
 
acyclic\ValidCycles2.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 61: Line 64:
 
acyclic\ValidCycles3.xml ([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 src])
 
acyclic\ValidCycles3.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 69: Line 72:
 
acyclic\ValidDerivation.xml ([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 src])
 
acyclic\ValidDerivation.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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”
  
Line 80: Line 83:
 
deref\Multiple.xml ([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 src])
 
deref\Multiple.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 88: Line 91:
 
deref\MultipleNonRoot.xml ([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 src])
 
deref\MultipleNonRoot.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 96: Line 99:
 
deref\Single.xml ([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 src])
 
deref\Single.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 107: Line 110:
 
identity\InValidKeyDuplicate.xml ([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 src])
 
identity\InValidKeyDuplicate.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 115: Line 118:
 
identity\InValidKeyMissing.xml ([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 src])
 
identity\InValidKeyMissing.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 123: Line 126:
 
identity\InValidUnique.xml ([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 src])
 
identity\InValidUnique.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 131: Line 134:
 
identity\LC\InValidConstraintDefinition.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintDefinition.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintDefinition.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintDefinition.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 139: Line 142:
 
identity\LC\InValidConstraintRefAttributes.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefAttributes.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefAttributes.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefAttributes.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 147: Line 150:
 
identity\LC\InValidConstraintRefElements.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefElements.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefElements.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefElements.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 155: Line 158:
 
identity\LC\InValidConstraintRefKey.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefKey.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefKey.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefKey.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 163: Line 166:
 
identity\LC\InValidConstraintRefKeyref.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefKeyref.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefKeyref.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefKeyref.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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 [..]
  
Line 171: Line 174:
 
identity\LC\InValidConstraintRefNoKey.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefNoKey.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefNoKey.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefNoKey.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 179: Line 182:
 
identity\LC\InValidConstraintRefNoKeyref.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefNoKeyref.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefNoKeyref.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefNoKeyref.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 187: Line 190:
 
identity\LC\InValidConstraintRefNoUnique.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefNoUnique.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefNoUnique.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefNoUnique.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 195: Line 198:
 
identity\LC\InValidConstraintRefUnique.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefUnique.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintRefUnique.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintRefUnique.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 203: Line 206:
 
identity\LC\InValidConstraintSubstitution.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintSubstitution.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidConstraintSubstitution.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidConstraintSubstitution.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 211: Line 214:
 
identity\LC\InValidDuplicateConstraintName.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidDuplicateConstraintName.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidDuplicateConstraintName.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidDuplicateConstraintName.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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).
  
Line 219: Line 222:
 
identity\LC\InValidDuplicateConstraintName1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidDuplicateConstraintName1.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidDuplicateConstraintName1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidDuplicateConstraintName1.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 227: Line 230:
 
identity\LC\InValidDuplicateConstraintNameSubst.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidDuplicateConstraintNameSubst.xml?root=Technology_Project&view=markup src])
 
identity\LC\InValidDuplicateConstraintNameSubst.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/InValidDuplicateConstraintNameSubst.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 235: Line 238:
 
identity\LC\ValidConstraintRefKeyref.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/ValidConstraintRefKeyref.xml?root=Technology_Project&view=markup src])
 
identity\LC\ValidConstraintRefKeyref.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/LC/ValidConstraintRefKeyref.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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 [..]
  
Line 243: Line 246:
 
identity\ValidKeyref.xml ([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 src])
 
identity\ValidKeyref.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Verify keyref constraint.
 
Verify keyref constraint.
  
Line 251: Line 254:
 
identity\ValidKeyUnique.xml ([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 src])
 
identity\ValidKeyUnique.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 259: Line 262:
 
identity\ValidKeyUniqueInScopeOnly.xml ([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 src])
 
identity\ValidKeyUniqueInScopeOnly.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 270: Line 273:
 
incomplete\InValid.xml ([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 src])
 
incomplete\InValid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that an incomplete model is invalid
 
This test verifies that an incomplete model is invalid
  
Line 281: Line 284:
 
others\remote-document.xml ([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 src])
 
others\remote-document.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Tests the correct implementation of the locator element
 
Tests the correct implementation of the locator element
  
Line 289: Line 292:
 
others\rulesWithMultiplePattern.xml ([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 src])
 
others\rulesWithMultiplePattern.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Tests that rules that have multiple patterns are handled correctly
 
Tests that rules that have multiple patterns are handled correctly
  
Line 297: Line 300:
 
others\rulesWithMultipleRulesUnderOnePattern.xml ([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 src])
 
others\rulesWithMultipleRulesUnderOnePattern.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Tests that patterns with multiple rules are handled correctly
 
Tests that patterns with multiple rules are handled correctly
  
Line 305: Line 308:
 
others\schemaValidationFailure.xml ([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 src])
 
others\schemaValidationFailure.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Tests that validation against the schema fails.
 
Tests that validation against the schema fails.
  
Line 316: Line 319:
 
references\ConsistentReferences\InvalidRefOneSchemeResolves.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/InvalidRefOneSchemeResolves.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\InvalidRefOneSchemeResolves.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/InvalidRefOneSchemeResolves.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns an error when an SML references contains two reference scheme, resolving to two different elements.
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns an error when an SML references contains two reference scheme, resolving to two different elements.
  
Line 324: Line 327:
 
references\ConsistentReferences\InvalidRefResolvesToMultipleElements.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/InvalidRefResolvesToMultipleElements.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\InvalidRefResolvesToMultipleElements.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/InvalidRefResolvesToMultipleElements.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Every non-null reference MUST target at most one element in a model. When a recognized scheme in a reference resolves to more than one target then the model MUST be declared invalid. This test verifies that the code returns an error when an SML references contains a reference scheme that resolves to more than one element.
 
Every non-null reference MUST target at most one element in a model. When a recognized scheme in a reference resolves to more than one target then the model MUST be declared invalid. This test verifies that the code returns an error when an SML references contains a reference scheme that resolves to more than one element.
  
Line 332: Line 335:
 
references\ConsistentReferences\InvalidRefTwoSchemes.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/InvalidRefTwoSchemes.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\InvalidRefTwoSchemes.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/InvalidRefTwoSchemes.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns an error when an SML references contains two reference scheme, and one scheme resolves while the other doesn't.
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns an error when an SML references contains two reference scheme, and one scheme resolves while the other doesn't.
  
Line 340: Line 343:
 
references\ConsistentReferences\ValidRefNilrefSpecified1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefNilrefSpecified1.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\ValidRefNilrefSpecified1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefNilrefSpecified1.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference is to be resolved, the validator will return an exception since the two reference schemes resolve to two different elements. This test should return success because the sml:nilref is specified.
 
A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference is to be resolved, the validator will return an exception since the two reference schemes resolve to two different elements. This test should return success because the sml:nilref is specified.
  
Line 348: Line 351:
 
references\ConsistentReferences\ValidRefOneSchemeResolvesOtherUnknown.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefOneSchemeResolvesOtherUnknown.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\ValidRefOneSchemeResolvesOtherUnknown.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefOneSchemeResolvesOtherUnknown.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns success when an SML references contains two reference scheme, one resolving to a valid target and the other scheme being unknown to the processor.
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns success when an SML references contains two reference scheme, one resolving to a valid target and the other scheme being unknown to the processor.
  
Line 356: Line 359:
 
references\ConsistentReferences\ValidRefTwoSchemes.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefTwoSchemes.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\ValidRefTwoSchemes.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefTwoSchemes.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns success when an SML references contains two reference scheme, both resolving to the same target.
 
An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns success when an SML references contains two reference scheme, both resolving to the same target.
  
Line 364: Line 367:
 
references\ConsistentReferences\ValidRefTwoSchemesNilSpecified.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefTwoSchemesNilSpecified.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\ValidRefTwoSchemesNilSpecified.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefTwoSchemesNilSpecified.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference below is to be resolved, the validator will return an exception since only one reference scheme resolves. This test should return success because the sml:nilref is specified.
 
A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference below is to be resolved, the validator will return an exception since only one reference scheme resolves. This test should return success because the sml:nilref is specified.
  
Line 372: Line 375:
 
references\ConsistentReferences\ValidRefTwoSchemesReturnsNull.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefTwoSchemesReturnsNull.xml?root=Technology_Project&view=markup src])
 
references\ConsistentReferences\ValidRefTwoSchemesReturnsNull.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/ConsistentReferences/ValidRefTwoSchemesReturnsNull.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference below is to be resolved, the validator will return a non null target element. This test should return success but with a reference target of null.
 
A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference below is to be resolved, the validator will return a non null target element. This test should return success but with a reference target of null.
  
Line 380: Line 383:
 
references\DanglingRef.xml ([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 src])
 
references\DanglingRef.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that a valid model can contain dangling references
 
This test verifies that a valid model can contain dangling references
  
Line 388: Line 391:
 
references\EmptyRefElement.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/EmptyRefElement.xml?root=Technology_Project&view=markup src])
 
references\EmptyRefElement.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/EmptyRefElement.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that reference elements can be empty
 
This test verifies that reference elements can be empty
  
Line 396: Line 399:
 
references\IntraDocumentRef.xml ([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 src])
 
references\IntraDocumentRef.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that a reference element can target an element in the same document
 
This test verifies that a reference element can target an element in the same document
  
Line 404: Line 407:
 
references\MultipleRefToAnElement.xml ([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 src])
 
references\MultipleRefToAnElement.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that an element can be targeted by multiple different references
 
This test verifies that an element can be targeted by multiple different references
  
Line 412: Line 415:
 
references\NullRefElement.xml ([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 src])
 
references\NullRefElement.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that reference elements can be null
 
This test verifies that reference elements can be null
  
Line 420: Line 423:
 
references\NullReferences\InvalidNilRefDefinition.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/NullReferences/InvalidNilRefDefinition.xml?root=Technology_Project&view=markup src])
 
references\NullReferences\InvalidNilRefDefinition.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/NullReferences/InvalidNilRefDefinition.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that sml:nilref attribute is only defined on instance elements with sml:ref="true" specified. This global attribute is used to identify null reference elements. This attribute MUST NOT be used on an element unless it also has sml:ref="true" specified.
 
This test verifies that sml:nilref attribute is only defined on instance elements with sml:ref="true" specified. This global attribute is used to identify null reference elements. This attribute MUST NOT be used on an element unless it also has sml:ref="true" specified.
  
Line 428: Line 431:
 
references\NullReferences\ValidNilRefDefinition.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/NullReferences/ValidNilRefDefinition.xml?root=Technology_Project&view=markup src])
 
references\NullReferences\ValidNilRefDefinition.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/NullReferences/ValidNilRefDefinition.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that sml:nilref attribute can only be defined on instance elements with sml:ref="true" specified. This global attribute is used to identify null reference elements. This attribute MUST NOT be used on an element unless it also has sml:ref="true" specified.
 
This test verifies that sml:nilref attribute can only be defined on instance elements with sml:ref="true" specified. This global attribute is used to identify null reference elements. This attribute MUST NOT be used on an element unless it also has sml:ref="true" specified.
  
Line 436: Line 439:
 
references\RefToNonRootElement.xml ([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 src])
 
references\RefToNonRootElement.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that a reference element in a document can target non-root elements in some other document
 
This test verifies that a reference element in a document can target non-root elements in some other document
  
Line 444: Line 447:
 
references\RefToRootElement.xml ([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 src])
 
references\RefToRootElement.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that a reference element in a document can target the root element in some other document
 
This test verifies that a reference element in a document can target the root element in some other document
  
Line 452: Line 455:
 
references\smlxpath1Scheme\InvalidSchemeDerefUsed.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeDerefUsed.xml?root=Technology_Project&view=markup src])
 
references\smlxpath1Scheme\InvalidSchemeDerefUsed.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeDerefUsed.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 460: Line 463:
 
references\smlxpath1Scheme\InvalidSchemeNamespaceUnknown.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeNamespaceUnknown.xml?root=Technology_Project&view=markup src])
 
references\smlxpath1Scheme\InvalidSchemeNamespaceUnknown.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeNamespaceUnknown.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns error when an smlxpath1 scheme uses a namespace not defined in the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.
 
This test verifies that the code returns error when an smlxpath1 scheme uses a namespace not defined in the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.
  
Line 468: Line 471:
 
references\smlxpath1Scheme\InvalidSchemeResultContainsNonElements.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeResultContainsNonElements.xml?root=Technology_Project&view=markup src])
 
references\smlxpath1Scheme\InvalidSchemeResultContainsNonElements.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeResultContainsNonElements.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns error when an smlxpath1 scheme resolves to a set containing non-elements. The element(s) targeted by a scheme instance are obtained by applying the location path in SMLXPath1_SchemeData to the root element of the document in the document context. The result MUST be a set of elements. The set MAY be empty. If the result of applying the location path is something other than a set of elements, then the XPointer result is an error.
 
This test verifies that the code returns error when an smlxpath1 scheme resolves to a set containing non-elements. The element(s) targeted by a scheme instance are obtained by applying the location path in SMLXPath1_SchemeData to the root element of the document in the document context. The result MUST be a set of elements. The set MAY be empty. If the result of applying the location path is something other than a set of elements, then the XPointer result is an error.
  
Line 476: Line 479:
 
references\smlxpath1Scheme\InvalidSchemeSyntaxError.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeSyntaxError.xml?root=Technology_Project&view=markup src])
 
references\smlxpath1Scheme\InvalidSchemeSyntaxError.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/InvalidSchemeSyntaxError.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns error when an smlxpath1 location path has an invalid syntax.
 
This test verifies that the code returns error when an smlxpath1 location path has an invalid syntax.
  
Line 484: Line 487:
 
references\smlxpath1Scheme\ValidSchemeNamespaceInherited.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/ValidSchemeNamespaceInherited.xml?root=Technology_Project&view=markup src])
 
references\smlxpath1Scheme\ValidSchemeNamespaceInherited.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/ValidSchemeNamespaceInherited.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.
 
This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.
  
Line 492: Line 495:
 
references\smlxpath1Scheme\ValidSchemeNamespaceInherited1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/ValidSchemeNamespaceInherited1.xml?root=Technology_Project&view=markup src])
 
references\smlxpath1Scheme\ValidSchemeNamespaceInherited1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/references/smlxpath1Scheme/ValidSchemeNamespaceInherited1.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.
 
This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.
  
Line 503: Line 506:
 
Rules\InValid.xml ([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 src])
 
Rules\InValid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 511: Line 514:
 
Rules\InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml ([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 src])
 
Rules\InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Two rules are bound to the same document - both fail.
 
Two rules are bound to the same document - both fail.
  
Line 519: Line 522:
 
Rules\InValidRuleBinding-MultipleRulesSameDocument.xml ([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 src])
 
Rules\InValidRuleBinding-MultipleRulesSameDocument.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Two rules are bound to the same document. One passes, one fails.
 
Two rules are bound to the same document. One passes, one fails.
  
Line 527: Line 530:
 
Rules\InValidRuleBinding.xml ([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 src])
 
Rules\InValidRuleBinding.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 535: Line 538:
 
Rules\InValidRuleType.xml ([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 src])
 
Rules\InValidRuleType.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 543: Line 546:
 
Rules\InValidRuleTypeExtension.xml ([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 src])
 
Rules\InValidRuleTypeExtension.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 551: Line 554:
 
Rules\InValidRuleTypeRestriction.xml ([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 src])
 
Rules\InValidRuleTypeRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 559: Line 562:
 
Rules\Valid.xml ([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 src])
 
Rules\Valid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 567: Line 570:
 
Rules\ValidNoSML.xml ([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 src])
 
Rules\ValidNoSML.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
Basic XML Schema file, no SML extensions used.
 
Basic XML Schema file, no SML extensions used.
  
Line 575: Line 578:
 
Rules\ValidRuleBinding.xml ([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 src])
 
Rules\ValidRuleBinding.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 586: Line 589:
 
smlif_lc\InValidAliasHasFragmentComp.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidAliasHasFragmentComp.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidAliasHasFragmentComp.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidAliasHasFragmentComp.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 594: Line 597:
 
smlif_lc\InValidAliasValue.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidAliasValue.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidAliasValue.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidAliasValue.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 602: Line 605:
 
smlif_lc\InvalidBase64Content.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InvalidBase64Content.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InvalidBase64Content.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InvalidBase64Content.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 610: Line 613:
 
smlif_lc\InValidBaseURI.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidBaseURI.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidBaseURI.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidBaseURI.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns an error when the base URI is not an absolute URI
 
This test verifies that the code returns an error when the base URI is not an absolute URI
  
Line 618: Line 621:
 
smlif_lc\InValidBaseURIHasFragmentComp.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidBaseURIHasFragmentComp.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidBaseURIHasFragmentComp.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidBaseURIHasFragmentComp.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns an error when the base URI contains a fragment component.
 
This test verifies that the code returns an error when the base URI contains a fragment component.
  
Line 626: Line 629:
 
smlif_lc\InvalidDataContentBase64.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InvalidDataContentBase64.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InvalidDataContentBase64.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InvalidDataContentBase64.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 634: Line 637:
 
smlif_lc\InValidDuplicateAliases.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidDuplicateAliases.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidDuplicateAliases.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidDuplicateAliases.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 642: Line 645:
 
smlif_lc\InValidMissingBaseURIAttr.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidMissingBaseURIAttr.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidMissingBaseURIAttr.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidMissingBaseURIAttr.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that the code returns an error when there is relative reference in a document and the baseURI is not defined.
 
This test verifies that the code returns an error when there is relative reference in a document and the baseURI is not defined.
  
Line 650: Line 653:
 
smlif_lc\InValidMultipleDocument.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidMultipleDocument.xml?root=Technology_Project&view=markup src])
 
smlif_lc\InValidMultipleDocument.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/InValidMultipleDocument.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 658: Line 661:
 
smlif_lc\ValidateDefaultSchemaBinding.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateDefaultSchemaBinding.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidateDefaultSchemaBinding.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateDefaultSchemaBinding.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 666: Line 669:
 
smlif_lc\ValidateNoSchemaBinding.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateNoSchemaBinding.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidateNoSchemaBinding.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateNoSchemaBinding.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 674: Line 677:
 
smlif_lc\ValidateSchemaBinding.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidateSchemaBinding.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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 )
  
Line 682: Line 685:
 
smlif_lc\ValidateSchemaBinding1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding1.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidateSchemaBinding1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding1.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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 )
  
Line 690: Line 693:
 
smlif_lc\ValidateSchemaBinding2.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding2.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidateSchemaBinding2.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding2.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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 )
  
Line 698: Line 701:
 
smlif_lc\ValidateSchemaBinding3.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding3.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidateSchemaBinding3.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidateSchemaBinding3.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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 )
  
Line 706: Line 709:
 
smlif_lc\ValidBase64Content.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidBase64Content.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidBase64Content.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidBase64Content.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 714: Line 717:
 
smlif_lc\ValidEmptyDocument.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidEmptyDocument.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidEmptyDocument.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidEmptyDocument.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that it is valid to have an empty document.
 
This test verifies that it is valid to have an empty document.
  
Line 722: Line 725:
 
smlif_lc\ValidMissingBaseURIAttr1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidMissingBaseURIAttr1.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidMissingBaseURIAttr1.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidMissingBaseURIAttr1.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that it is valid to not define the baseURI when there is no relative URI defined within any document.
 
This test verifies that it is valid to not define the baseURI when there is no relative URI defined within any document.
  
Line 730: Line 733:
 
smlif_lc\ValidMissingBaseURIAttr2.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidMissingBaseURIAttr2.xml?root=Technology_Project&view=markup src])
 
smlif_lc\ValidMissingBaseURIAttr2.xml ([http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cosmos/tests/resource-modeling/org.eclipse.cosmos.rm.validation.tests/src/test-resources/smlif_lc/ValidMissingBaseURIAttr2.xml?root=Technology_Project&view=markup src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
This test verifies that it is valid to have no baseURI, no aliases and a relative reference in a document, if the reference contains only a fragment component. In which case the reference points to an element within the same document.
 
This test verifies that it is valid to have no baseURI, no aliases and a relative reference in a document, if the reference contains only a fragment component. In which case the reference points to an element within the same document.
  
Line 741: Line 744:
 
targetElement\InValid.xml ([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 src])
 
targetElement\InValid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 749: Line 752:
 
targetElement\InValidDerivationByRestriction.xml ([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 src])
 
targetElement\InValidDerivationByRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 757: Line 760:
 
targetElement\InValidSameNameElements.xml ([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 src])
 
targetElement\InValidSameNameElements.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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}.
  
Line 765: Line 768:
 
targetElement\InvalidValue.xml ([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 src])
 
targetElement\InvalidValue.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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)
  
Line 773: Line 776:
 
targetElement\InValidWithSubstitutionGroup.xml ([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 src])
 
targetElement\InValidWithSubstitutionGroup.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 781: Line 784:
 
targetElement\Valid.xml ([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 src])
 
targetElement\Valid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 789: Line 792:
 
targetElement\ValidateTargetElementDefinition.xml ([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 src])
 
targetElement\ValidateTargetElementDefinition.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 797: Line 800:
 
targetElement\ValidDerivationByRestriction.xml ([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 src])
 
targetElement\ValidDerivationByRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 805: Line 808:
 
targetElement\ValidSameNameElements.xml ([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 src])
 
targetElement\ValidSameNameElements.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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}.
  
Line 813: Line 816:
 
targetElement\ValidWithSubstitutionGroup.xml ([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 src])
 
targetElement\ValidWithSubstitutionGroup.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 824: Line 827:
 
targetRequired\InValid.xml ([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 src])
 
targetRequired\InValid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 832: Line 835:
 
targetRequired\InValidDerivationByRestriction.xml ([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 src])
 
targetRequired\InValidDerivationByRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 840: Line 843:
 
targetRequired\InValidSameNameElements.xml ([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 src])
 
targetRequired\InValidSameNameElements.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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}.
  
Line 848: Line 851:
 
targetRequired\InValidType.xml ([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 src])
 
targetRequired\InValidType.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 856: Line 859:
 
targetRequired\InValidWithSubstitutionGroup.xml ([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 src])
 
targetRequired\InValidWithSubstitutionGroup.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 864: Line 867:
 
targetRequired\valid.xml ([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 src])
 
targetRequired\valid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 872: Line 875:
 
targetRequired\ValidateTargetRequiredDefinition.xml ([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 src])
 
targetRequired\ValidateTargetRequiredDefinition.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 880: Line 883:
 
targetRequired\ValidDerivationByRestriction.xml ([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 src])
 
targetRequired\ValidDerivationByRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 888: Line 891:
 
targetRequired\ValidFalseRequire.xml ([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 src])
 
targetRequired\ValidFalseRequire.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 896: Line 899:
 
targetRequired\ValidSameNameElements.xml ([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 src])
 
targetRequired\ValidSameNameElements.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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}.
  
Line 904: Line 907:
 
targetRequired\ValidType.xml ([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 src])
 
targetRequired\ValidType.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 912: Line 915:
 
targetRequired\ValidTypeFalse.xml ([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 src])
 
targetRequired\ValidTypeFalse.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 920: Line 923:
 
targetRequired\ValidWithSubstitutionGroup.xml ([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 src])
 
targetRequired\ValidWithSubstitutionGroup.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 928: Line 931:
 
targetRequired\ValidWithSubstitutionGroupFalseRequire.xml ([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 src])
 
targetRequired\ValidWithSubstitutionGroupFalseRequire.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 939: Line 942:
 
targetType\InValid.xml ([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 src])
 
targetType\InValid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 947: Line 950:
 
targetType\InValidDerivationByRestriction.xml ([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 src])
 
targetType\InValidDerivationByRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 955: Line 958:
 
targetType\InValidSameNameElements.xml ([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 src])
 
targetType\InValidSameNameElements.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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}.
  
Line 963: Line 966:
 
targetType\InValidValue.xml ([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 src])
 
targetType\InValidValue.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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)
  
Line 971: Line 974:
 
targetType\InValidWithSubstitutionGroup.xml ([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 src])
 
targetType\InValidWithSubstitutionGroup.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 979: Line 982:
 
targetType\Valid.xml ([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 src])
 
targetType\Valid.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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
  
Line 987: Line 990:
 
targetType\ValidateTargetTypeDefinition.xml ([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 src])
 
targetType\ValidateTargetTypeDefinition.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 995: Line 998:
 
targetType\ValidDerivationByRestriction.xml ([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 src])
 
targetType\ValidDerivationByRestriction.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.
  
Line 1,003: Line 1,006:
 
targetType\ValidSameNameElements.xml ([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 src])
 
targetType\ValidSameNameElements.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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}.
  
Line 1,011: Line 1,014:
 
targetType\ValidWithSubstitutionGroup.xml ([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 src])
 
targetType\ValidWithSubstitutionGroup.xml ([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 src])
  
<b>Descripton:</b>
+
<b>Description:</b>
 
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.

Revision as of 10:00, 11 March 2008

Contents

COSMOS SML and SML-IF Validator Test Plan

Version 1.0, 10 March 2008

Author: David Whiteman

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

Acyclic Tests

Tests that check for valid cycles using sml:acyclic

InvalidCyclesWithAcyclicReferences

File: acyclic\InValidCycles.xml (src)

Description: This test verifies that it is an error to create cycles with instances of acyclic references

InvalidDerivationWithAcyclicAttribute

File: acyclic\InValidDerivation.xml (src)

Description: 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”

ValidateAcyclicDefinition

File: acyclic\ValidateDefinition.xml (src)

Description: This test returns a warning if the sml:acyclic attribute is defined on an element declaration

ValidCyclesWithAcyclicReference1

File: acyclic\ValidCycles1.xml (src)

Description: 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

ValidCyclesWithAcyclicReference2

File: acyclic\ValidCycles2.xml (src)

Description: 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

ValidCycles3

File: acyclic\ValidCycles3.xml (src)

Description: This test verifies that it is valid to create cycles within documents, as long as instances of acyclic references do not create cycles.

ValidDerivationWithAcyclicAttribute

File: acyclic\ValidDerivation.xml (src)

Description: 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”

Deref Tests

Tests that ensure proper operation of the deref() function

MultipleDeref

File: deref\Multiple.xml (src)

Description: 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.

MultipleXpointer

File: deref\MultipleNonRoot.xml (src)

Description: Verify that deref() can resolve references that target non-root elements using XPointer scheme.

SingleRef

File: deref\Single.xml (src)

Description: 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.

Identity Tests

Tests that validate the resolution of key references to elements

InValidKeyDuplicate

File: identity\InValidKeyDuplicate.xml (src)

Description: Verify that a model with a key constraint is invalid if the field values are not unique.

InValidKeyMissing

File: identity\InValidKeyMissing.xml (src)

Description: Verify that a model with a key constraint is invalid if some field values are missing.

InValidUnique

File: identity\InValidUnique.xml (src)

Description: Verify that a model with a unique constraint is invalid if the field values are not unique.

InvalidConstraintDefinition

File: identity\LC\InValidConstraintDefinition.xml (src)

Description: This test returns a warning when the id constraints are defined on a complexType. They should be defined on an element declaration.

InvalidConstraintRefAttributes

File: identity\LC\InValidConstraintRefAttributes.xml (src)

Description: 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.

InvalidConstraintRefElements

File: identity\LC\InValidConstraintRefElements.xml (src)

Description: 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.

InvalidConstraintRefKey

File: identity\LC\InValidConstraintRefKey.xml (src)

Description: Verifies that the code returns an error when the key's ref attribute value resolves to an element which is not a key.

InvalidConstraintRefKeyref

File: identity\LC\InValidConstraintRefKeyref.xml (src)

Description: 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 [..]

InvalidConstraintRefNoKey

File: identity\LC\InValidConstraintRefNoKey.xml (src)

Description: 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.

InvalidConstraintRefNoKeyRef

File: identity\LC\InValidConstraintRefNoKeyref.xml (src)

Description: 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.

InvalidConstraintRefNoKeyUnique

File: identity\LC\InValidConstraintRefNoUnique.xml (src)

Description: 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.

InvalidConstraintRefUnique

File: identity\LC\InValidConstraintRefUnique.xml (src)

Description: 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.

InvalidConstraintSubstitution

File: identity\LC\InValidConstraintSubstitution.xml (src)

Description: 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.

InvalidDuplicateConstraintName

File: identity\LC\InValidDuplicateConstraintName.xml (src)

Description: 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).

InvalidDuplicateConstraintName1

File: identity\LC\InValidDuplicateConstraintName1.xml (src)

Description: 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.

InvalidDuplicateConstraintSubst

File: identity\LC\InValidDuplicateConstraintNameSubst.xml (src)

Description: 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.

ValidConstraintRefKeyref

File: identity\LC\ValidConstraintRefKeyref.xml (src)

Description: 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 [..]

ValidKeyref

File: identity\ValidKeyref.xml (src)

Description: Verify keyref constraint.

ValidKeyUnique

File: identity\ValidKeyUnique.xml (src)

Description: 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.

ValidKeyUniqueInScopeOnly

File: identity\ValidKeyUniqueInScopeOnly.xml (src)

Description: 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.

Incomplete Tests

Tests that check for the completeness of the model

InValidInCompleteModel

File: incomplete\InValid.xml (src)

Description: This test verifies that an incomplete model is invalid

Miscellaneous Tests

Tests that check miscellaneous issues to ensure valid SML documents

TestDocumentLocator

File: others\remote-document.xml (src)

Description: Tests the correct implementation of the locator element

TestRulesWithMultiplePatterns

File: others\rulesWithMultiplePattern.xml (src)

Description: Tests that rules that have multiple patterns are handled correctly

TestMultipleRulesUnderOnePattern

File: others\rulesWithMultipleRulesUnderOnePattern.xml (src)

Description: Tests that patterns with multiple rules are handled correctly

TestSchemaValidationFailure

File: others\schemaValidationFailure.xml (src)

Description: Tests that validation against the schema fails.

Reference Tests

Tests that validate the implementation of sml:ref

InvalidRefOneSchemeResolves

File: references\ConsistentReferences\InvalidRefOneSchemeResolves.xml (src)

Description: An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns an error when an SML references contains two reference scheme, resolving to two different elements.

InvalidRefResolvesToMultipleElements

File: references\ConsistentReferences\InvalidRefResolvesToMultipleElements.xml (src)

Description: Every non-null reference MUST target at most one element in a model. When a recognized scheme in a reference resolves to more than one target then the model MUST be declared invalid. This test verifies that the code returns an error when an SML references contains a reference scheme that resolves to more than one element.

InvalidRefTwoSchemes

File: references\ConsistentReferences\InvalidRefTwoSchemes.xml (src)

Description: An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns an error when an SML references contains two reference scheme, and one scheme resolves while the other doesn't.

ValidRefNilrefSpecified1

File: references\ConsistentReferences\ValidRefNilrefSpecified1.xml (src)

Description: A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference is to be resolved, the validator will return an exception since the two reference schemes resolve to two different elements. This test should return success because the sml:nilref is specified.

ValidRefOneSchemeResolvesOtherUnknown

File: references\ConsistentReferences\ValidRefOneSchemeResolvesOtherUnknown.xml (src)

Description: An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns success when an SML references contains two reference scheme, one resolving to a valid target and the other scheme being unknown to the processor.

ValidRefTwoSchemes

File: references\ConsistentReferences\ValidRefTwoSchemes.xml (src)

Description: An SML model MUST be declared invalid when a recognized scheme resolves to a target that's different from the target resolved to by another recognized scheme or when one recognized scheme resolves and another does not. This test verifies that the code returns success when an SML references contains two reference scheme, both resolving to the same target.

ValidRefTwoSchemesNilSpecified

File: references\ConsistentReferences\ValidRefTwoSchemesNilSpecified.xml (src)

Description: A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference below is to be resolved, the validator will return an exception since only one reference scheme resolves. This test should return success because the sml:nilref is specified.

ValidRefTwoSchemesReturnsNull

File: references\ConsistentReferences\ValidRefTwoSchemesReturnsNull.xml (src)

Description: A null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it.If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question. This test verifies that the validator does not try to resolve a reference that is marked as null. If the reference below is to be resolved, the validator will return a non null target element. This test should return success but with a reference target of null.

DanglingRef

File: references\DanglingRef.xml (src)

Description: This test verifies that a valid model can contain dangling references

EmptyRefElement

File: references\EmptyRefElement.xml (src)

Description: This test verifies that reference elements can be empty

IntraDocumentRef

File: references\IntraDocumentRef.xml (src)

Description: This test verifies that a reference element can target an element in the same document

MultipleRefToAnElement

File: references\MultipleRefToAnElement.xml (src)

Description: This test verifies that an element can be targeted by multiple different references

NullRefElement

File: references\NullRefElement.xml (src)

Description: This test verifies that reference elements can be null

InvalidNillRefDefinition

File: references\NullReferences\InvalidNilRefDefinition.xml (src)

Description: This test verifies that sml:nilref attribute is only defined on instance elements with sml:ref="true" specified. This global attribute is used to identify null reference elements. This attribute MUST NOT be used on an element unless it also has sml:ref="true" specified.

InvalidNillRefDefinition

File: references\NullReferences\ValidNilRefDefinition.xml (src)

Description: This test verifies that sml:nilref attribute can only be defined on instance elements with sml:ref="true" specified. This global attribute is used to identify null reference elements. This attribute MUST NOT be used on an element unless it also has sml:ref="true" specified.

RefToNonRootElement

File: references\RefToNonRootElement.xml (src)

Description: This test verifies that a reference element in a document can target non-root elements in some other document

RefToRootElement

File: references\RefToRootElement.xml (src)

Description: This test verifies that a reference element in a document can target the root element in some other document

InvalidSchemeDerefUsed

File: references\smlxpath1Scheme\InvalidSchemeDerefUsed.xml (src)

Description: 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

InvalidSchemeNamespaceUnknown

File: references\smlxpath1Scheme\InvalidSchemeNamespaceUnknown.xml (src)

Description: This test verifies that the code returns error when an smlxpath1 scheme uses a namespace not defined in the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.

InvalidSchemeResultContainsNonElements

File: references\smlxpath1Scheme\InvalidSchemeResultContainsNonElements.xml (src)

Description: This test verifies that the code returns error when an smlxpath1 scheme resolves to a set containing non-elements. The element(s) targeted by a scheme instance are obtained by applying the location path in SMLXPath1_SchemeData to the root element of the document in the document context. The result MUST be a set of elements. The set MAY be empty. If the result of applying the location path is something other than a set of elements, then the XPointer result is an error.

InvalidSchemeSyntaxError

File: references\smlxpath1Scheme\InvalidSchemeSyntaxError.xml (src)

Description: This test verifies that the code returns error when an smlxpath1 location path has an invalid syntax.

ValidSchemeNamespaceInherited

File: references\smlxpath1Scheme\ValidSchemeNamespaceInherited.xml (src)

Description: This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.

ValiSchemeNamespaceInherited

File: references\smlxpath1Scheme\ValidSchemeNamespaceInherited1.xml (src)

Description: This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by the containing element. Namespace Binding Context: The smlxpath1() scheme inherits the set of namespace bindings available to the containing element.

Rule Tests

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

InValidSchematronRule

File: Rules\InValid.xml (src)

Description: 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.

InValidRuleBinding-MultipleRulesSameDocument

File: Rules\InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml (src)

Description: Two rules are bound to the same document - both fail.

InValidRuleBinding-MultipleRulesSameDocument

File: Rules\InValidRuleBinding-MultipleRulesSameDocument.xml (src)

Description: Two rules are bound to the same document. One passes, one fails.

InValidRuleBinding

File: Rules\InValidRuleBinding.xml (src)

Description: 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.

InValidRuleType

File: Rules\InValidRuleType.xml (src)

Description: 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.

InValidRuleTypeExtension

File: Rules\InValidRuleTypeExtension.xml (src)

Description: 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.

InValidRuleTypeRestriction

File: Rules\InValidRuleTypeRestriction.xml (src)

Description: 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.

ValidSchematronRule

File: Rules\Valid.xml (src)

Description: A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule.

ValidXMLSchema

File: Rules\ValidNoSML.xml (src)

Description: Basic XML Schema file, no SML extensions used.

ValidRuleBinding

File: Rules\ValidRuleBinding.xml (src)

Description: A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents.

SML-IF 1.1 Tests

Tests that validate the implementation of new SML-IF 1.1 conditions and features

InValidAliasHasFragmentComp

File: smlif_lc\InValidAliasHasFragmentComp.xml (src)

Description: This test verifies that the code returns an error when an alias contains a fragment component.

InValidAliasValue

File: smlif_lc\InValidAliasValue.xml (src)

Description: This test verifies that the code returns an error when an alias contains an invalid value.

InvalidBase64Content

File: smlif_lc\InvalidBase64Content.xml (src)

Description: 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.

InValidBaseURI

File: smlif_lc\InValidBaseURI.xml (src)

Description: This test verifies that the code returns an error when the base URI is not an absolute URI

InValidBaseURIHasFragmentComp

File: smlif_lc\InValidBaseURIHasFragmentComp.xml (src)

Description: This test verifies that the code returns an error when the base URI contains a fragment component.

InvalidDataContentBase64

File: smlif_lc\InvalidDataContentBase64.xml (src)

Description: 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.

InValidDuplicateAliases

File: smlif_lc\InValidDuplicateAliases.xml (src)

Description: This test verifies that the code returns an error when two aliases resolve to the same URI

InValidMissingBaseURIAttr1

File: smlif_lc\InValidMissingBaseURIAttr.xml (src)

Description: This test verifies that the code returns an error when there is relative reference in a document and the baseURI is not defined.

InvalidMultipleDocument

File: smlif_lc\InValidMultipleDocument.xml (src)

Description: This test verifies that the code returns an error if the data element contains more than one document.

ValidateDefaultSchemaBinding

File: smlif_lc\ValidateDefaultSchemaBinding.xml (src)

Description: 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.

ValidateNoSchemaBinding

File: smlif_lc\ValidateNoSchemaBinding.xml (src)

Description: 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

ValidateSchemaBinding

File: smlif_lc\ValidateSchemaBinding.xml (src)

Description: 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 )

ValidateSchemaBinding

File: smlif_lc\ValidateSchemaBinding1.xml (src)

Description: 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 )

ValidateSchemaBinding

File: smlif_lc\ValidateSchemaBinding2.xml (src)

Description: 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 )

ValidateSchemaBinding

File: smlif_lc\ValidateSchemaBinding3.xml (src)

Description: 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 )

ValidBase64Content

File: smlif_lc\ValidBase64Content.xml (src)

Description: This test verifies that the code returns success when a document that is a child of the base64Data element is encoded in Base64 format.

ValidEmptyDocument

File: smlif_lc\ValidEmptyDocument.xml (src)

Description: This test verifies that it is valid to have an empty document.

ValidMissingBaseURIAttr1

File: smlif_lc\ValidMissingBaseURIAttr1.xml (src)

Description: This test verifies that it is valid to not define the baseURI when there is no relative URI defined within any document.

ValidMissingBaseURIAttr2

File: smlif_lc\ValidMissingBaseURIAttr2.xml (src)

Description: This test verifies that it is valid to have no baseURI, no aliases and a relative reference in a document, if the reference contains only a fragment component. In which case the reference points to an element within the same document.

Target Element Tests

Tests that ensure correct implementation of targetElement

InValidTargetElement

File: targetElement\InValid.xml (src)

Description: 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.

InValidDerivationByRestriction

File: targetElement\InValidDerivationByRestriction.xml (src)

Description: 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.

InValidSameNameElements

File: targetElement\InValidSameNameElements.xml (src)

Description: 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}.

ValidateTargetElementExists2

File: targetElement\InvalidValue.xml (src)

Description: 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)

InValidTargetElementWithSubstitutionGroup

File: targetElement\InValidWithSubstitutionGroup.xml (src)

Description: 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.

ValidTargetElement

File: targetElement\Valid.xml (src)

Description: 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.

ValidateTargetElementDefinition

File: targetElement\ValidateTargetElementDefinition.xml (src)

Description: This test returns a warning if the sml:targetElement attribute is defined on a type definition.

ValidDerivationByRestriction

File: targetElement\ValidDerivationByRestriction.xml (src)

Description: 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.

ValidSameNameElements

File: targetElement\ValidSameNameElements.xml (src)

Description: 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}.

ValidTargetElementWithSubstitutionGroup

File: targetElement\ValidWithSubstitutionGroup.xml (src)

Description: 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

Target Required Tests

Tests that ensure correct validation of sml:targetRequired attribute

ValidTargetElement

File: targetRequired\InValid.xml (src)

Description: 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.

InValidDerivationByRestriction

File: targetRequired\InValidDerivationByRestriction.xml (src)

Description: 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.

InValidSameNameElements

File: targetRequired\InValidSameNameElements.xml (src)

Description: 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}.

ValidTargetType

File: targetRequired\InValidType.xml (src)

Description: 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

ValidTargetElementWithSubstitutionGroup

File: targetRequired\InValidWithSubstitutionGroup.xml (src)

Description: 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

ValidTargetElement

File: targetRequired\valid.xml (src)

Description: 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.

ValidateTargetRequireDefinition

File: targetRequired\ValidateTargetRequiredDefinition.xml (src)

Description: This test returns a warning if the sml:targetRequired attribute is defined on a type definition.

ValidDerivationByRestriction

File: targetRequired\ValidDerivationByRestriction.xml (src)

Description: 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.

ValidTargetElement

File: targetRequired\ValidFalseRequire.xml (src)

Description: 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.

ValidSameNameElements

File: targetRequired\ValidSameNameElements.xml (src)

Description: 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}.

ValidTargetType

File: targetRequired\ValidType.xml (src)

Description: 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

ValidTargetType

File: targetRequired\ValidTypeFalse.xml (src)

Description: 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

ValidTargetElementWithSubstitutionGroup

File: targetRequired\ValidWithSubstitutionGroup.xml (src)

Description: 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

ValidTargetElementWithSubstitutionGroup

File: targetRequired\ValidWithSubstitutionGroupFalseRequire.xml (src)

Description: 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

Target Type Tests

Tests that ensure correct validation of targetType

InValidTargetType

File: targetType\InValid.xml (src)

Description: 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

InValidDerivationByRestriction

File: targetType\InValidDerivationByRestriction.xml (src)

Description: 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.

InValidSameNameElements

File: targetType\InValidSameNameElements.xml (src)

Description: 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}.

ValidateTargetTypeExists1

File: targetType\InValidValue.xml (src)

Description: 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)

InValidTargetTypeWithSubstitutionGroup

File: targetType\InValidWithSubstitutionGroup.xml (src)

Description: 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.

ValidTargetType

File: targetType\Valid.xml (src)

Description: 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

ValidateTargetTypeDefinition

File: targetType\ValidateTargetTypeDefinition.xml (src)

Description: This test returns a warning if the sml:targetType attribute is defined on a type definition.

ValidDerivationByRestriction

File: targetType\ValidDerivationByRestriction.xml (src)

Description: 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.

ValidSameNameElements

File: targetType\ValidSameNameElements.xml (src)

Description: 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}.

ValidTargetTypeWithSubstitutionGroup

File: targetType\ValidWithSubstitutionGroup.xml (src)

Description: 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.

Back to the top