Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "COSMOS SML Test Plan"
(→ValidTargetTypeWithSubstitutionGroup) |
|||
Line 14: | Line 14: | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\InValidCycles.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that it is an | + | This test verifies that it is an error to create cycles with instances of acyclic references |
=== InvalidDerivationWithAcyclicAttribute === | === InvalidDerivationWithAcyclicAttribute === | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\InValidDerivation.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A model is invalid if it has a reference type R1 | + | 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 === | === ValidateAcyclicDefinition === | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\ValidateDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test returns a warning if | + | This test returns a warning if the sml:acyclic attribute is defined on an element declaration |
=== ValidCyclesWithAcyclicReference1 === | === ValidCyclesWithAcyclicReference1 === | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\ValidCycles1.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Let R1 and R2 be two reference types with | + | 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 === | === ValidCyclesWithAcyclicReference2 === | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\ValidCycles2.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Let R1 be a reference type with | + | 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 === | === ValidCycles3 === | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\ValidCycles3.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that it is valid to create cycles within documents, as long | + | This test verifies that it is valid to create cycles within documents, as long as instances of acyclic references do not create cycles. |
=== ValidDerivationWithAcyclicAttribute === | === ValidDerivationWithAcyclicAttribute === | ||
<b>File:</b> | <b>File:</b> | ||
− | acyclic\ValidDerivation.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A model is valid if it has a reference type R1 | + | 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” |
=== MultipleDeref === | === MultipleDeref === | ||
<b>File:</b> | <b>File:</b> | ||
− | deref\Multiple.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verify that deref() can accept a node set of reference elements, | + | 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 === | === MultipleXpointer === | ||
<b>File:</b> | <b>File:</b> | ||
− | deref\MultipleNonRoot.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 86: | Line 86: | ||
<b>File:</b> | <b>File:</b> | ||
− | deref\Single.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verify that deref() can resolve a single reference. | + | 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. |
=== InValidKeyDuplicate === | === InValidKeyDuplicate === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\InValidKeyDuplicate.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 102: | Line 102: | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\InValidKeyMissing.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 110: | Line 110: | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\InValidUnique.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 118: | Line 118: | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test returns a warning when the id constraints are defined on a complexType. | + | This test returns a warning when the id constraints are defined on a complexType. They should be defined on an element declaration. |
=== InvalidConstraintRefAttributes === | === InvalidConstraintRefAttributes === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefAttributes.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</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. | + | 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 === | === InvalidConstraintRefElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</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. | + | 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 === | === InvalidConstraintRefKey === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefKey.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns an error when the key's ref attribute value resolves to an element which | + | Verifies that the code returns an error when the key's ref attribute value resolves to an element which is not a key. |
=== InvalidConstraintRefKeyref === | === InvalidConstraintRefKeyref === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefKeyref.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns an error when the keyref's ref attribute value resolves to a key element instead | + | 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 === | === InvalidConstraintRefNoKey === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefNoKey.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns an error when the key's ref attribute value doesn't 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. |
=== InvalidConstraintRefNoKeyRef === | === InvalidConstraintRefNoKeyRef === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefNoKeyref.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns an error when the keyref's ref attribute value doesn't resolve to an SML keyref constraint. | + | 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 === | === InvalidConstraintRefNoKeyUnique === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefNoUnique.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns an error when the unique's ref attribute value doesn't 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. |
=== InvalidConstraintRefUnique === | === InvalidConstraintRefUnique === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintRefUnique.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns an error when the unique's ref attribute value resolves to an element that is | + | 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 === | === InvalidConstraintSubstitution === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidConstraintSubstitution.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that substitution group elements validate id constraints defined on their group affiliation. | + | 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 === | === InvalidDuplicateConstraintName === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidDuplicateConstraintName.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns a error when two constraints defined on an element have 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). |
=== InvalidDuplicateConstraintName1 === | === InvalidDuplicateConstraintName1 === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidDuplicateConstraintName1.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns a error when two constraints defined on an element have 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. |
=== InvalidDuplicateConstraintSubst === | === InvalidDuplicateConstraintSubst === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\InValidDuplicateConstraintNameSubst.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns a error when two constraints defined on an element have 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). 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 === | === ValidConstraintRefKeyref === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\LC\ValidConstraintRefKeyref.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verifies that the code returns success when the keyref's ref attribute value resolves to a keyref element. | + | 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 === | === ValidKeyref === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\ValidKeyref.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 238: | Line 238: | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\ValidKeyUnique.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verify that a model with a key and unique constraint is valid if the field values are unique, though some | + | 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 === | === ValidKeyUniqueInScopeOnly === | ||
<b>File:</b> | <b>File:</b> | ||
− | identity\ValidKeyUniqueInScopeOnly.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Verify that a model with a key and unique constraint is valid if the constraints are satisfied in scope | + | 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. |
=== InValidInCompleteModel === | === InValidInCompleteModel === | ||
<b>File:</b> | <b>File:</b> | ||
− | incomplete\InValid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that an | + | This test verifies that an incomplete model is invalid |
=== InValidInCompleteModel === | === InValidInCompleteModel === | ||
Line 264: | Line 264: | ||
<b>File:</b> | <b>File:</b> | ||
− | others\rulesWithMultiplePattern.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 272: | Line 272: | ||
<b>File:</b> | <b>File:</b> | ||
− | others\rulesWithMultipleRulesUnderOnePattern.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 280: | Line 280: | ||
<b>File:</b> | <b>File:</b> | ||
− | others\schemaValidationFailure.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 288: | Line 288: | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\InvalidRefOneSchemeResolves.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | An SML model MUST be declared invalid when a recognized scheme resolves | + | 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 === | === InvalidRefResolvesToMultipleElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\InvalidRefResolvesToMultipleElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Every non-null reference MUST target at most one element in a model. | + | 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 === | === InvalidRefTwoSchemes === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\InvalidRefTwoSchemes.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | An SML model MUST be declared invalid when a recognized scheme resolves | + | 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 === | === ValidRefNilrefSpecified1 === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\ValidRefNilrefSpecified1.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A null reference is an explicit declaration of intent by the document | + | 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 === | === ValidRefOneSchemeResolvesOtherUnknown === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\ValidRefOneSchemeResolvesOtherUnknown.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | An SML model MUST be declared invalid when a recognized scheme resolves | + | 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 === | === ValidRefTwoSchemes === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\ValidRefTwoSchemes.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | An SML model MUST be declared invalid when a recognized scheme resolves | + | 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 === | === ValidRefTwoSchemesNilSpecified === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\ValidRefTwoSchemesNilSpecified.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A null reference is an explicit declaration of intent by the document | + | 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 === | === ValidRefTwoSchemesReturnsNull === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\ConsistentReferences\ValidRefTwoSchemesReturnsNull.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A null reference is an explicit declaration of intent by the document | + | 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 === | === DanglingRef === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\DanglingRef.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that a valid model can | + | This test verifies that a valid model can contain dangling references |
=== EmptyRefElement === | === EmptyRefElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\EmptyRefElement.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that reference elements | + | This test verifies that reference elements can be empty |
=== IntraDocumentRef === | === IntraDocumentRef === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\IntraDocumentRef.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that a reference | + | This test verifies that a reference element can target an element in the same document |
=== MultipleRefToAnElement === | === MultipleRefToAnElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\MultipleRefToAnElement.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that an element can | + | This test verifies that an element can be targeted by multiple different references |
=== NullRefElement === | === NullRefElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\NullRefElement.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that reference elements | + | This test verifies that reference elements can be null |
=== InvalidNillRefDefinition === | === InvalidNillRefDefinition === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\NullReferences\InvalidNilRefDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that sml:nilref attribute is only defined on instance elements with 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. |
=== InvalidNillRefDefinition === | === InvalidNillRefDefinition === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\NullReferences\ValidNilRefDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that sml:nilref attribute can only be defined on instance elements with 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. |
=== RefToNonRootElement === | === RefToNonRootElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\RefToNonRootElement.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 416: | Line 416: | ||
<b>File:</b> | <b>File:</b> | ||
− | references\RefToRootElement.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that a reference element | + | This test verifies that a reference element in a document can target the root element in some other document |
=== InvalidSchemeDerefUsed === | === InvalidSchemeDerefUsed === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\smlxpath1Scheme\InvalidSchemeDerefUsed.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns error when an smlxpath1 scheme contains a deref() | + | 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 |
=== InvaliSchemeNamespaceUnknown === | === InvaliSchemeNamespaceUnknown === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\smlxpath1Scheme\InvalidSchemeNamespaceUnknown.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns error when an smlxpath1 scheme uses a namespace not defined in 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. |
=== InvalidSchemeResultContainsNonElements === | === InvalidSchemeResultContainsNonElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\smlxpath1Scheme\InvalidSchemeResultContainsNonElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns error when an smlxpath1 scheme resolves to a set containing non-elements. | + | 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 === | === InvalidSchemeSyntaxError === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\smlxpath1Scheme\InvalidSchemeSyntaxError.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 456: | Line 456: | ||
<b>File:</b> | <b>File:</b> | ||
− | references\smlxpath1Scheme\ValidSchemeNamespaceInherited.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by 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. |
=== ValiSchemeNamespaceInherited === | === ValiSchemeNamespaceInherited === | ||
<b>File:</b> | <b>File:</b> | ||
− | references\smlxpath1Scheme\ValidSchemeNamespaceInherited1.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns success when an smlxpath1 scheme uses a namespace defined by 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. |
=== InValidSchematronRule === | === InValidSchematronRule === | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A model with a Schematron rule defined for an element is invalid if at least one instances of the | + | 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 === | === InValidRuleBinding-MultipleRulesSameDocument === | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 488: | Line 488: | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValidRuleBinding-MultipleRulesSameDocument.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</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. |
=== InValidRuleBinding === | === InValidRuleBinding === | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValidRuleBinding.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A model with a Schematron rule that is bound to | + | 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 === | === InValidRuleType === | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValidRuleType.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 512: | Line 512: | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValidRuleTypeExtension.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 520: | Line 520: | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\InValidRuleTypeRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 528: | Line 528: | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\Valid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 536: | Line 536: | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\ValidNoSML.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 544: | Line 544: | ||
<b>File:</b> | <b>File:</b> | ||
− | Rules\ValidRuleBinding.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | A model with a Schematron rule that is bound to | + | A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents. |
=== InValidAliasHasFragmentComp === | === InValidAliasHasFragmentComp === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidAliasHasFragmentComp.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns an error when an alias contains a | + | This test verifies that the code returns an error when an alias contains a fragment component. |
=== InValidAliasValue === | === InValidAliasValue === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidAliasValue.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns an error when an alias contains an | + | This test verifies that the code returns an error when an alias contains an invalid value. |
=== InvalidBase64Content === | === InvalidBase64Content === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InvalidBase64Content.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns an error when a document | + | 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 === | === InValidBaseURI === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidBaseURI.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 584: | Line 584: | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidBaseURIHasFragmentComp.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 592: | Line 592: | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InvalidDataContentBase64.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns an error when a document | + | 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 === | === InValidDuplicateAliases === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidDuplicateAliases.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 608: | Line 608: | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidMissingBaseURIAttr.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 616: | Line 616: | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\InValidMultipleDocument.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 624: | Line 624: | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidateDefaultSchemaBinding.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code is using the defaultSchema information to locate the definition file for instance documents not included in schemaBinding. | + | 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 === | === ValidateNoSchemaBinding === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidateNoSchemaBinding.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</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 | + | 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 === | === ValidateSchemaBinding === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidateSchemaBinding.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. | + | 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 === | === ValidateSchemaBinding === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidateSchemaBinding1.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. | + | 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 === | === ValidateSchemaBinding === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidateSchemaBinding2.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. | + | 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 === | === ValidateSchemaBinding === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidateSchemaBinding3.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code is using the schemaBinding information to locate the definition file for instance documents. | + | 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 === | === ValidBase64Content === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidBase64Content.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the code returns success when a document | + | 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 === | === ValidEmptyDocument === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidEmptyDocument.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 688: | Line 688: | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidMissingBaseURIAttr1.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that it is valid to not define the baseURI when | + | This test verifies that it is valid to not define the baseURI when there is no relative URI defined within any document. |
=== ValidMissingBaseURIAttr2 === | === ValidMissingBaseURIAttr2 === | ||
<b>File:</b> | <b>File:</b> | ||
− | smlif_lc\ValidMissingBaseURIAttr2.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
Line 704: | Line 704: | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\InValid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=”GTE” for a global element | + | 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 === | === InValidDerivationByRestriction === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\InValidDerivationByRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If the element declaration ED is contained (directly, indirectly, or implicitly) | + | 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 === | === InValidSameNameElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\InValidSameNameElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If two element declarations E1 and E2 have the same {namespace name} and {name} | + | 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 === | === ValidateTargetElementExists2 === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\InvalidValue.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the value of the sml:targetElement is a global element. | + | 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 === | === InValidTargetElementWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\InValidWithSubstitutionGroup.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | Let targetElement=”GTE” be specified for a GED E. | + | 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 === | === ValidTargetElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\Valid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=”GTE” for a global element | + | 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 === | === ValidateTargetElementDefinition === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\ValidateTargetElementDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test returns a warning if | + | This test returns a warning if the sml:targetElement attribute is defined on a type definition. |
=== ValidDerivationByRestriction === | === ValidDerivationByRestriction === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\ValidDerivationByRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If the element declaration ED is contained (directly, indirectly, or implicitly) | + | 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 === | === ValidSameNameElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\ValidSameNameElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If two element declarations E1 and E2 have the same {namespace name} and {name} | + | 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 === | === ValidTargetElementWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetElement\ValidWithSubstitutionGroup.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=”GTE” for a global element | + | 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 === | === ValidTargetElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\InValid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=GTE for a global element | + | 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 === | === InValidDerivationByRestriction === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\InValidDerivationByRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If the element declaration ED is contained (directly, indirectly, or implicitly) in | + | 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 === | === InValidSameNameElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\InValidSameNameElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If two element declarations E1 and E2 have the same {namespace name} and {name} | + | 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 === | === ValidTargetType === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\InValidType.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetType=”T” for a global element | + | 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 === | === ValidTargetElementWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\InValidWithSubstitutionGroup.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=”GTE” for a global element | + | 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 === | === ValidTargetElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\valid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=GTE for a global element | + | 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 === | === ValidateTargetRequireDefinition === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidateTargetRequiredDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test returns a warning if | + | This test returns a warning if the sml:targetRequired attribute is defined on a type definition. |
=== ValidDerivationByRestriction === | === ValidDerivationByRestriction === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidDerivationByRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If the element declaration ED is contained (directly, indirectly, or implicitly) in | + | 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 === | === ValidTargetElement === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidFalseRequire.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=GTE for a global element | + | 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 === | === ValidSameNameElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidSameNameElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If two element declarations E1 and E2 have the same {namespace name} and {name} | + | 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 === | === ValidTargetType === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidType.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetType=”T” for a global element | + | 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 === | === ValidTargetType === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidTypeFalse.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetType=”T” for a global element | + | 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 === | === ValidTargetElementWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidWithSubstitutionGroup.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=”GTE” for a global element | + | 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 === | === ValidTargetElementWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetRequired\ValidWithSubstitutionGroupFalseRequire.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetElement=”GTE” for a global element | + | 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 |
=== InValidTargetType === | === InValidTargetType === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\InValid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetType=”T” for a global element | + | 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 === | === InValidDerivationByRestriction === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\InValidDerivationByRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model | + | 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 === | === InValidSameNameElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\InValidSameNameElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If two element declarations E1 and E2 have the same {namespace name} and {name} | + | 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 === | === ValidateTargetTypeExists1 === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\InValidValue.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test verifies that the value of the sml:targetType resolves to a global type definition. | + | 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 === | === InValidTargetTypeWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\InValidWithSubstitutionGroup.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</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. | |
=== ValidTargetType === | === ValidTargetType === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\Valid.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If targetType=”T” for a global element | + | 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 === | === ValidateTargetTypeDefinition === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\ValidateTargetTypeDefinition.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | This test returns a warning if | + | This test returns a warning if the sml:targetType attribute is defined on a type definition. |
=== ValidDerivationByRestriction === | === ValidDerivationByRestriction === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\ValidDerivationByRestriction.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If the element declaration ED is contained (directly, indirectly, or implicitly) in a content model | + | 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 === | === ValidSameNameElements === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\ValidSameNameElements.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</b> | ||
− | If two element declarations E1 and E2 have the same {namespace name} and {name} | + | 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 === | === ValidTargetTypeWithSubstitutionGroup === | ||
<b>File:</b> | <b>File:</b> | ||
− | targetType\ValidWithSubstitutionGroup.xml | + | 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 cvs source] |
<b>Descripton:</b> | <b>Descripton:</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 | + | 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 19:08, 10 March 2008
Contents
- 1 COSMOS SML and SML-IF Validator Test Plan
- 1.1 Introduction
- 1.2 Test Suite
- 1.2.1 InvalidCyclesWithAcyclicReferences
- 1.2.2 InvalidDerivationWithAcyclicAttribute
- 1.2.3 ValidateAcyclicDefinition
- 1.2.4 ValidCyclesWithAcyclicReference1
- 1.2.5 ValidCyclesWithAcyclicReference2
- 1.2.6 ValidCycles3
- 1.2.7 ValidDerivationWithAcyclicAttribute
- 1.2.8 MultipleDeref
- 1.2.9 MultipleXpointer
- 1.2.10 SingleRef
- 1.2.11 InValidKeyDuplicate
- 1.2.12 InValidKeyMissing
- 1.2.13 InValidUnique
- 1.2.14 InvalidConstraintDefinition
- 1.2.15 InvalidConstraintRefAttributes
- 1.2.16 InvalidConstraintRefElements
- 1.2.17 InvalidConstraintRefKey
- 1.2.18 InvalidConstraintRefKeyref
- 1.2.19 InvalidConstraintRefNoKey
- 1.2.20 InvalidConstraintRefNoKeyRef
- 1.2.21 InvalidConstraintRefNoKeyUnique
- 1.2.22 InvalidConstraintRefUnique
- 1.2.23 InvalidConstraintSubstitution
- 1.2.24 InvalidDuplicateConstraintName
- 1.2.25 InvalidDuplicateConstraintName1
- 1.2.26 InvalidDuplicateConstraintSubst
- 1.2.27 ValidConstraintRefKeyref
- 1.2.28 ValidKeyref
- 1.2.29 ValidKeyUnique
- 1.2.30 ValidKeyUniqueInScopeOnly
- 1.2.31 InValidInCompleteModel
- 1.2.32 InValidInCompleteModel
- 1.2.33 TDM synthetic example converted to use SML
- 1.2.34 TDM synthetic example converted to use SML
- 1.2.35 ValidSchematronRule
- 1.2.36 InvalidRefOneSchemeResolves
- 1.2.37 InvalidRefResolvesToMultipleElements
- 1.2.38 InvalidRefTwoSchemes
- 1.2.39 ValidRefNilrefSpecified1
- 1.2.40 ValidRefOneSchemeResolvesOtherUnknown
- 1.2.41 ValidRefTwoSchemes
- 1.2.42 ValidRefTwoSchemesNilSpecified
- 1.2.43 ValidRefTwoSchemesReturnsNull
- 1.2.44 DanglingRef
- 1.2.45 EmptyRefElement
- 1.2.46 IntraDocumentRef
- 1.2.47 MultipleRefToAnElement
- 1.2.48 NullRefElement
- 1.2.49 InvalidNillRefDefinition
- 1.2.50 InvalidNillRefDefinition
- 1.2.51 RefToNonRootElement
- 1.2.52 RefToRootElement
- 1.2.53 InvalidSchemeDerefUsed
- 1.2.54 InvaliSchemeNamespaceUnknown
- 1.2.55 InvalidSchemeResultContainsNonElements
- 1.2.56 InvalidSchemeSyntaxError
- 1.2.57 ValiSchemeNamespaceInherited
- 1.2.58 ValiSchemeNamespaceInherited
- 1.2.59 InValidSchematronRule
- 1.2.60 InValidRuleBinding-MultipleRulesSameDocument
- 1.2.61 InValidRuleBinding-MultipleRulesSameDocument
- 1.2.62 InValidRuleBinding
- 1.2.63 InValidRuleType
- 1.2.64 InValidRuleTypeExtension
- 1.2.65 InValidRuleTypeRestriction
- 1.2.66 ValidSchematronRule
- 1.2.67 ValidXMLSchema
- 1.2.68 ValidRuleBinding
- 1.2.69 InValidAliasHasFragmentComp
- 1.2.70 InValidAliasValue
- 1.2.71 InvalidBase64Content
- 1.2.72 InValidBaseURI
- 1.2.73 InValidBaseURIHasFragmentComp
- 1.2.74 InvalidDataContentBase64
- 1.2.75 InValidDuplicateAliases
- 1.2.76 InValidMissingBaseURIAttr1
- 1.2.77 InvalidMultipleDocument
- 1.2.78 ValidateDefaultSchemaBinding
- 1.2.79 ValidateNoSchemaBinding
- 1.2.80 ValidateSchemaBinding
- 1.2.81 ValidateSchemaBinding
- 1.2.82 ValidateSchemaBinding
- 1.2.83 ValidateSchemaBinding
- 1.2.84 ValidBase64Content
- 1.2.85 ValidEmptyDocument
- 1.2.86 ValidMissingBaseURIAttr1
- 1.2.87 ValidMissingBaseURIAttr2
- 1.2.88 InValidTargetElement
- 1.2.89 InValidDerivationByRestriction
- 1.2.90 InValidSameNameElements
- 1.2.91 ValidateTargetElementExists2
- 1.2.92 InValidTargetElementWithSubstitutionGroup
- 1.2.93 ValidTargetElement
- 1.2.94 ValidateTargetElementDefinition
- 1.2.95 ValidDerivationByRestriction
- 1.2.96 ValidSameNameElements
- 1.2.97 ValidTargetElementWithSubstitutionGroup
- 1.2.98 ValidTargetElement
- 1.2.99 InValidDerivationByRestriction
- 1.2.100 InValidSameNameElements
- 1.2.101 ValidTargetType
- 1.2.102 ValidTargetElementWithSubstitutionGroup
- 1.2.103 ValidTargetElement
- 1.2.104 ValidateTargetRequireDefinition
- 1.2.105 ValidDerivationByRestriction
- 1.2.106 ValidTargetElement
- 1.2.107 ValidSameNameElements
- 1.2.108 ValidTargetType
- 1.2.109 ValidTargetType
- 1.2.110 ValidTargetElementWithSubstitutionGroup
- 1.2.111 ValidTargetElementWithSubstitutionGroup
- 1.2.112 InValidTargetType
- 1.2.113 InValidDerivationByRestriction
- 1.2.114 InValidSameNameElements
- 1.2.115 ValidateTargetTypeExists1
- 1.2.116 InValidTargetTypeWithSubstitutionGroup
- 1.2.117 ValidTargetType
- 1.2.118 ValidateTargetTypeDefinition
- 1.2.119 ValidDerivationByRestriction
- 1.2.120 ValidSameNameElements
- 1.2.121 ValidTargetTypeWithSubstitutionGroup
COSMOS SML and SML-IF Validator Test Plan
Version 1.0, 6 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.
Test Suite
InvalidCyclesWithAcyclicReferences
File: acyclic\InValidCycles.xml cvs source
Descripton: This test verifies that it is an error to create cycles with instances of acyclic references
InvalidDerivationWithAcyclicAttribute
File: acyclic\InValidDerivation.xml cvs source
Descripton: 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 cvs source
Descripton: This test returns a warning if the sml:acyclic attribute is defined on an element declaration
ValidCyclesWithAcyclicReference1
File: acyclic\ValidCycles1.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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”
MultipleDeref
File: deref\Multiple.xml cvs source
Descripton: 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 cvs source
Descripton: Verify that deref() can resolve references that target non-root elements using XPointer scheme.
SingleRef
File: deref\Single.xml cvs source
Descripton: 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.
InValidKeyDuplicate
File: identity\InValidKeyDuplicate.xml cvs source
Descripton: Verify that a model with a key constraint is invalid if the field values are not unique.
InValidKeyMissing
File: identity\InValidKeyMissing.xml cvs source
Descripton: Verify that a model with a key constraint is invalid if some field values are missing.
InValidUnique
File: identity\InValidUnique.xml cvs source
Descripton: Verify that a model with a unique constraint is invalid if the field values are not unique.
InvalidConstraintDefinition
File: identity\LC\InValidConstraintDefinition.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: Verify keyref constraint.
ValidKeyUnique
File: identity\ValidKeyUnique.xml cvs source
Descripton: 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 cvs source
Descripton: 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.
InValidInCompleteModel
File: incomplete\InValid.xml cvs source
Descripton: This test verifies that an incomplete model is invalid
InValidInCompleteModel
TDM synthetic example converted to use SML
File: others\rulesWithMultiplePattern.xml cvs source
Descripton: Describes a database hosted on a windows XP operating system
TDM synthetic example converted to use SML
File: others\rulesWithMultipleRulesUnderOnePattern.xml cvs source
Descripton: Describes a database hosted on a windows XP operating system
ValidSchematronRule
File: others\schemaValidationFailure.xml cvs source
Descripton: A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule.
InvalidRefOneSchemeResolves
File: references\ConsistentReferences\InvalidRefOneSchemeResolves.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test verifies that a valid model can contain dangling references
EmptyRefElement
File: references\EmptyRefElement.xml cvs source
Descripton: This test verifies that reference elements can be empty
IntraDocumentRef
File: references\IntraDocumentRef.xml cvs source
Descripton: This test verifies that a reference element can target an element in the same document
MultipleRefToAnElement
File: references\MultipleRefToAnElement.xml cvs source
Descripton: This test verifies that an element can be targeted by multiple different references
NullRefElement
File: references\NullRefElement.xml cvs source
Descripton: This test verifies that reference elements can be null
InvalidNillRefDefinition
File: references\NullReferences\InvalidNilRefDefinition.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test verifies that a reference element in a document can target non-root elements in some other document
RefToRootElement
File: references\RefToRootElement.xml cvs source
Descripton: 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 cvs source
Descripton: 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
InvaliSchemeNamespaceUnknown
File: references\smlxpath1Scheme\InvalidSchemeNamespaceUnknown.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test verifies that the code returns error when an smlxpath1 location path has an invalid syntax.
ValiSchemeNamespaceInherited
File: references\smlxpath1Scheme\ValidSchemeNamespaceInherited.xml cvs source
Descripton: 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 cvs source
Descripton: 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.
InValidSchematronRule
File: Rules\InValid.xml cvs source
Descripton: 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 cvs source
Descripton: Two rules are bound to the same document - both fail.
InValidRuleBinding-MultipleRulesSameDocument
File: Rules\InValidRuleBinding-MultipleRulesSameDocument.xml cvs source
Descripton: Two rules are bound to the same document. One passes, one fails.
InValidRuleBinding
File: Rules\InValidRuleBinding.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: Basic XML Schema file, no SML extensions used.
ValidRuleBinding
File: Rules\ValidRuleBinding.xml cvs source
Descripton: A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents.
InValidAliasHasFragmentComp
File: smlif_lc\InValidAliasHasFragmentComp.xml cvs source
Descripton: This test verifies that the code returns an error when an alias contains a fragment component.
InValidAliasValue
File: smlif_lc\InValidAliasValue.xml cvs source
Descripton: This test verifies that the code returns an error when an alias contains an invalid value.
InvalidBase64Content
File: smlif_lc\InvalidBase64Content.xml cvs source
Descripton: 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 cvs source
Descripton: This test verifies that the code returns an error when the base URI is not an absolute URI
InValidBaseURIHasFragmentComp
File: smlif_lc\InValidBaseURIHasFragmentComp.xml cvs source
Descripton: This test verifies that the code returns an error when the base URI contains a fragment component.
InvalidDataContentBase64
File: smlif_lc\InvalidDataContentBase64.xml cvs source
Descripton: 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 cvs source
Descripton: This test verifies that the code returns an error when two aliases resolve to the same URI
InValidMissingBaseURIAttr1
File: smlif_lc\InValidMissingBaseURIAttr.xml cvs source
Descripton: 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 cvs source
Descripton: This test verifies that the code returns an error if the data element contains more than one document.
ValidateDefaultSchemaBinding
File: smlif_lc\ValidateDefaultSchemaBinding.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test verifies that it is valid to have an empty document.
ValidMissingBaseURIAttr1
File: smlif_lc\ValidMissingBaseURIAttr1.xml cvs source
Descripton: 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 cvs source
Descripton: 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.
InValidTargetElement
File: targetElement\InValid.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test returns a warning if the sml:targetElement attribute is defined on a type definition.
ValidDerivationByRestriction
File: targetElement\ValidDerivationByRestriction.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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\InValid.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test returns a warning if the sml:targetRequired attribute is defined on a type definition.
ValidDerivationByRestriction
File: targetRequired\ValidDerivationByRestriction.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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
InValidTargetType
File: targetType\InValid.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: This test returns a warning if the sml:targetType attribute is defined on a type definition.
ValidDerivationByRestriction
File: targetType\ValidDerivationByRestriction.xml cvs source
Descripton: 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 cvs source
Descripton: 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 cvs source
Descripton: 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.