Primary Feature Tested Expected Result Eclipse COSMOS Result Microsoft Result Feature Type Test Case Name

Test Case File Name

Test Case Description
acyclic Invalid Invalid Invalid Required InvalidCyclesWithAcyclicReferences

InValidCycle.xml (row 2)

A model is invalid if an instance of an acyclic type CT references itself.
acyclic Invalid Invalid Invalid Required InvalidCyclesWithAcyclicReferences

InValidCycleAbstract.xml (row 3)

A model is invalid if instances of an element type CT derived from the abstract acyclic element type CT' form a cycle.
acyclic Invalid Invalid Invalid Required InvalidCyclesWithAcyclicReferences

InValidCycleAnonymous.xml (row 4)

A model is invalid if instances of the acyclic anonymous type CT form a cycle
acyclic Invalid Invalid Invalid Required InvalidCyclesWithAcyclicReferences

InValidCycleByExtension.xml (row 5)

A model is invalid if instances of an acyclic element type CT (or derived types by restriction) create a cycle
acyclic Invalid Invalid Invalid Required InvalidCyclesWithAcyclicReferences

InValidCycleByRestriction.xml (row 6)

A model is invalid if instances of an acyclic element type CT (or derived types by restriction) create a cycle
acyclic Invalid Invalid Invalid Required InvalidDerivationWithAcyclicAttribute

InValidDerivation.xml (row 7)

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?
acyclic Valid Valid Valid Required ValidateAcyclicDefinition

ValidateDefinition.xml (row 8)

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

ValidCycle.xml (row 9)

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
acyclic Valid Valid Valid Required InvalidCyclesWithAcyclicReferences

ValidCycleNoReference.xml (row 10)

A model is valid if an element instance with sml:acyclic="true" forms a cycle but is not declared to be an SML reference (despite having a valid sml:uri scheme)
acyclic Valid Valid Valid Required InvalidCyclesWithAcyclicReferences

ValidCycleNullReference.xml (row 11)

A model is valid if an element instance with sml:acyclic="true" forms a cycle but is declared as a null SML reference (despite having a valid sml:uri scheme)
acyclic Valid Valid Valid Required ValidCycles3

ValidCycleVariation.xml (row 12)

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

ValidDerivation.xml (row 13)

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?
acyclic Valid Valid Valid Required ValidCyclesWithAcyclicReference1

ValidMultipleAcyclics.xml (row 14)

Let R1 and R2 be two reference types with sml:acyclic=?true?. Then a model is valid if it has inter-document cycles using instances of both R1 and R2
acyclic Valid Valid Valid Required ValidUnresolvedReference

ValidUnresolvedReference.xml (row 15)

A model is valid if an element instance with sml:acyclic="true" references an unresolved document.
Base64 Invalid Invalid Invalid Required Base64DTDEntity

Base64DTDEntity.xml (row 16)

This test verifies that the code returns success when a document that is a child of the base64Data element is encoded in Base64 format. The encoded document is an XML document with DTD definition. The DTD has entity definitions that are used in the XML.
Base64 Invalid Invalid Invalid Required Base64DTDInvalidXML

Base64DTDInvalidXML.xml (row 17)

The encoded document is an XML document with DTD definition. The XML sturcture is invalid according to the DTD, but since DTD validation is not done by the SML/SML-IF validator, the SML validator should report success.
Base64 Invalid Invalid Invalid Required Base64DTDMissingEntities

Base64DTDMissingEntities.xml (row 18)

The encoded document is an XML document with DTD definition. The XML uses entities that are not defined in the DTD. The validation should fail because DTD is processed with fatal failure.
Base64 Valid Valid no result asserted - use NA if test case uses features not supported by the implementation Required Base64EncodedDoc

Base64EncodedDoc.xml (row 19)

An instance document is base64 encoded.
Base64 Valid Valid Valid Required Base64EncodedDocs

Base64EncodedDocs.xml (row 20)

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
Base64 Valid Valid Valid Required Base64EncodedSchema

Base64EncodedSchema.xml (row 21)

Taken from acylic test suite. (ValidCycles1.xml) Encoded data in definition section in base64 encoding. 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
Base64 Valid Valid Valid Required Base64EncodedSchemaAndDoc

Base64EncodedSchemaAndDoc.xml (row 22)

Taken from acylic test suite. (ValidCycles1.xml) Encoded data in both definition and instance sections. 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
Base64 Valid Valid Valid Required Base64EncodedSchemaAndDocs

Base64EncodedSchemaAndDocs.xml (row 23)

Taken from acylic test suite. (ValidCycles1.xml) Encoded data in both definition and instance sections. 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
Base64 Invalid Invalid Invalid Required Base64InvalidEncoding

Base64InvalidEncoding.xml (row 24)

Taken from acylic test suite. (ValidCycles1.xml) Schema is encoded. Encoded data in both definition and instance sections. 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
Base64 Invalid Invalid Invalid Required Base64InvalidSML

Base64InvalidSML.xml (row 25)

All instance documents in this SML-IF are base64-encoded. The instance documents have a cycle for an acyclic type. The SML-IF should be validated to false.
smlref Invalid Invalid Invalid Required SingleRef

InValidUnrecognizedScheme.xml (row 26)

Verify a schematron test using a deref function to resolve an unrecognized reference scheme will fail
smlref Invalid Invalid Invalid Required InvalidSchemeDerefUsed

InValidUsageWithScheme.xml (row 27)

A model is invalid if an smlxpath1 scheme contains a deref() in the evaluator.
smlref Valid Valid Valid Required MultipleDeref

Multiple.xml (row 28)

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.
smlref Invalid Invalid Invalid Optional

Inconsistent values: primary feature smlref's value is R

MultipleNonRootXpointer

MultipleNonRoot.xml (row 29)

Verify that deref() can resolve references that target non-root elements using XPointer scheme.
smlref Valid Valid Valid Required SingleRef

Single.xml (row 30)

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.
idConstraint Invalid Invalid Invalid Required InvalidConstraintSubstitution

InValidConstraintGroup.xml (row 32)

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 MUST have the same set of {SML identity-constraints definitions}.
idConstraint Invalid Invalid Invalid Required InvalidConstraintRefAttributes

InValidConstraintRefAttributes.xml (row 33)

A model is invalid if an identity constraint includes both the 'ref' and 'name' attribute
idConstraint Invalid Invalid Invalid Required InvalidConstraintRefElements

InValidConstraintRefElements.xml (row 34)

A model is invalid if the sml:field or sml:selector child elements are specified for a referenced identity constraint.
idConstraint Invalid Invalid Invalid Required InvalidConstraintRefKey

InValidConstraintRefKey.xml (row 35)

A model is invalid if a referenced identity constraint type does not match to what it's resolved to.
idConstraint Invalid Invalid Invalid Required InvalidConstraintRefNoKey

InValidConstraintRefNoKey.xml (row 36)

A model is invalid if a referenced identity constraint cannot be resolved
idConstraint Invalid Invalid Invalid Required InvalidConstraintSubstitution

InValidConstraintSubstitution.xml (row 37)

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.
idConstraint Invalid Invalid Invalid Required InvalidDuplicateConstraintSubst

InValidDuplicateConstraintNameSubst.xml (row 38)

A model is invalid if two constraint names indirectly declared through substitution group have the same name
idConstraint Invalid Invalid Invalid Required InvalidDuplicateConstraintName1

InValidDuplicateKeyConstraintName.xml (row 39)

A model is invalid if two constraint names under the same element have the same name
idConstraint Invalid Invalid Invalid Required InValidKeyDuplicate

InValidKeyDuplicate.xml (row 40)

Verify that a model with a key constraint is invalid if the field values are not unique.
idConstraint Invalid Invalid Invalid Required InValidKeyMissing

InValidKeyMissing.xml (row 41)

Verify that a model with a key constraint is invalid if some field values are missing.
idConstraint Invalid Invalid Invalid Required InvalidConstraintSubstitution

InValidUnionConstraintWithSubstitution.xml (row 42)

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.
idConstraint Invalid Invalid Invalid Required InValidUnique

InValidUnique.xml (row 43)

Verify that a model with a unique constraint is invalid if the field values are not unique.
idConstraint Invalid Invalid Invalid Required ValidConstraintRefKeyref

ValidConstraintRefKeyref.xml (row 44)

A model is valid if a referenced identity constraint is used using the 'ref' attribute
idConstraint Valid Valid Valid Required ValidKeyref

ValidKeyref.xml (row 45)

Verify keyref constraint.
idConstraint Valid Valid Valid Required ValidKeyUnique

ValidKeyUnique.xml (row 46)

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.
idConstraint Valid Valid Valid Required ValidKeyUniqueInScopeOnly

ValidKeyUniqueInScopeOnly.xml (row 47)

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.
idConstraint Valid Valid Valid Required InValidKeyDuplicate

ValidSmlXSKey.xml (row 48)

It is not an error if SML identity constraint and XML identity constraint share the same name.
locator Valid Valid Not applicable Optional InValidInCompleteModel

InValid.xml (row 49)

This test verifies that an unresolved locator/documentURI is flagged with a warning.
aliases Invalid Invalid Invalid Required InValidAliasValue

InValidAliasValue.xml (row 50)

This test verifies that the code returns an error when an alias contains an invalid value.
aliases Invalid Invalid Invalid Required InValidAliasHasFragmentComp

InValidAliasWithFragment.xml (row 51)

This test verifies that the code returns an error when an alias contains a fragment component.
aliases Invalid Invalid Invalid Required InValidDuplicateAliases

InValidDuplicateAliases.xml (row 52)

This test verifies that the code returns an error when two aliases resolve to the same URI
validation Invalid Invalid Invalid Required InvalidMultipleDocument

InValidMultipleDocument.xml (row 53)

This test verifies that the code returns an error if the data element contains more than one document.
locator Valid Valid Not applicable Optional TestDocumentLocator

remote-document.xml (row 54)

Tests the correct implementation of the locator element
rules Invalid Invalid Invalid Required TestRulesWithMultiplePatterns

rulesWithMultiplePattern.xml (row 55)

Tests that rules that have multiple patterns are handled correctly
rules Invalid Invalid Invalid Required TestMultipleRulesUnderOnePattern

rulesWithMultipleRulesUnderOnePattern.xml (row 56)

Tests that patterns with multiple rules are handled correctly
validation Invalid Invalid Invalid Required TestSchemaValidationFailure

schemaValidationFailure.xml (row 57)

Tests that validation against the schema fails.
Embedded Valid Valid Valid Required ValidEmptyDocument

ValidEmptyDocument.xml (row 58)

This test verifies that it is valid to have an empty document.
smlref Valid Valid Valid Required UnresolvedRef

DanglingRef.xml (row 59)

A valid model can contain unresolved references
smlref Valid Valid Valid Required IntraDocumentRef

IntraDocumentRef.xml (row 60)

It is valid for a reference to target an element in the same document.
smlref Valid Valid Valid Required InvalidBareNameUnresolved

InvalidBareNameDangling.xml (row 61)

This SML-IF contains an SML reference that is a unresolved reference. Bare name is used in this reference.
smlifBaseUri Invalid Invalid Invalid Required InValidBaseURI

InValidBaseURI.xml (row 63)

A model is invalid if base URI is not valid
smlifBaseUri Invalid Invalid Invalid Required InValidBaseURIRelative

InValidBaseURIRelative.xml (row 64)

A model is invalid if the base URI is not absolute
smlifBaseUri Invalid Invalid Invalid Required InValidBaseURIHasFragmentComp

InValidBaseURIWithFragment.xml (row 65)

A model is invalid if the base URI contains a fragment
smlifBaseUri Invalid Invalid Invalid Required InValidMissingBaseURIAttr1

InValidMissingBaseURIAttr.xml (row 68)

A model is invalid if a reference is relative and the base URI is missing
smlref Invalid Invalid Invalid Required InvalidRefResolvesToMultipleElements

InValidMultipleElements.xml (row 69)

A model is invalid if a reference scheme resolves to multiple elements
smlref Invalid Invalid Invalid Required InvalidRefResolvesToMultipleElements

InValidMultipleElementsVariation.xml (row 70)

A model is invalid if a reference element is identified with sml:ref="1" and its scheme resolves to multiple elements
smlref Invalid Invalid Invalid Required SingleRef

InValidNullifiedDeref.xml (row 71)

The deref() function of a nullified reference should not return a target even if the ref has a valid sml:uri child element.
smlref Invalid Invalid Invalid Required InvalidSchemeResultContainsNonElements

InValidSchemeResult.xml (row 72)

A model is invalid if a reference using smlxpath1 scheme resolves to anything other than an element set.
smlref Invalid Invalid Invalid Required InvalidSchemeSyntaxError

InValidSchemeSyntax.xml (row 73)

A model is invalid if the content of the smlxpath1 scheme is syntactically incorrect.
validation Invalid Invalid Invalid Required InvalidSmlRefValue

InValidSMLRefValue.xml (row 74)

A model is invalid if the value of sml:ref is not valid
smlref Invalid Invalid Invalid Required InvalidSchemeNamespaceUnknown

InValidUnknownNamespace.xml (row 75)

A model is invalid if a reference using the smlxpath1 scheme uses a prefix without a bound namespace.
xmlBase Invalid Invalid Not applicable Optional

Inconsistent values: primary feature xmlBase's value is R

InValidXMLBase

InValidXmlBase.xml (row 76)

A model is invalid if xml:base is not valid
xmlBase Invalid Invalid Not applicable Optional

Inconsistent values: primary feature xmlBase's value is R

InValidXMLBaseRelative

InValidXmlBaseRelative.xml (row 77)

A model is invalid if the xml:base is not absolute
smlref Valid Valid Valid Required MultipleRefToAnElement

MultipleRefToAnElement.xml (row 78)

It is valid for an element in a document to be targeted by multiple different references from other documents
smlref Invalid Invalid Invalid Required NullRefElement

NullRefElement.xml (row 79)

It is valid for a reference element to be null
smlref Valid Valid Valid Required RefToNonRootElement

RefToNonRootElement.xml (row 80)

It is valid for a reference in a document to target a non-root element in some other document.
smlref Valid Valid Valid Required RefToRootElement

RefToRootElement.xml (row 81)

It is valid for a reference in a document to target the root element in some other document.
smlref Valid Valid Valid Required ValidBareNameAbsURI

ValidBareName.xml (row 82)

This SML-IF demonstrates the use of bare names in sml:uri references.
smlref Valid Valid Valid Required ValidBareNameSameDocRef

ValidBareNameSameDocRef.xml (row 84)

This SML-IF contains an SML URI reference that only contains the fragment component. The fragment component is a bare name. This URI reference will be dereferenced to an element in the same document.
smlref Valid Valid Valid Required ValidRefTwoSchemesNilSpecified

ValidDanglingReference.xml (row 85)

A model is valid if it contains a nullified reference with two schemes, one resolving to an element and another unresolved.
smlref Valid Valid Valid Required ValidMissingBaseURIAttr2

ValidFragmentOnlyReference.xml (row 86)

It is valid for a model to contain a reference with only a fragment. In which case, the reference points to a target element in the same document.
smlref Valid Valid Valid Required ValidRefNilrefSpecified1

ValidInconsistentNonReference.xml (row 87)

A model is valid if it contains a none reference element (i.e. sml:ref is not specified) with multiple schemes resolving to two different elements
smlref Valid Valid Valid Required ValidRefNilrefSpecified1

ValidInconsistentReference.xml (row 88)

A model is valid if it contains a nullified reference with multiple schemes resolving to two different elements
smlref Valid Valid Valid Required ValidMissingBaseURIAttr1

ValidMissingBaseURI.xml (row 89)

A model is valid if there are not references and the base URI is missing
smlref Valid Valid Valid Required ValidNilRefDefinition

ValidNilRef.xml (row 91)

A model is valid if sml:nilref is used in conjunction with sml:ref="true"
smlref Valid Valid Valid Required ValidNilRefPSVI

ValidNilRefPSVI.xml (row 92)

A model is valid if sml:nilref is used in conjunction with sml:ref="true", even if the sml:nilref value is defaulted from the schema
smlref Valid Valid Valid Required ValidSchemeNamespaceInherited

ValidReferenceScheme.xml (row 93)

A model is valid when a reference using the smlxpath1 scheme uses a prefix declared in a containing element
smlref Valid Valid Valid Required SingleRef

ValidSMLRefPSVI.xml (row 94)

The deref() function of a nullified reference should not return a target even if the ref has a valid sml:uri child element.
smlref Valid Valid Valid Required ValidRefOneSchemeResolvesOtherUnknown

ValidUnknownRefScheme.xml (row 95)

A model is valid if a reference contains two schemes, one resolving to an element and the other being unknown.
xmlBase Valid Valid Valid Optional

Inconsistent values: primary feature xmlBase's value is R

ValidXmlBase

ValidXmlBase.xml (row 96)

A valid xml:base should not result in an error.
xmlBase Valid Valid Valid Optional

Inconsistent values: primary feature xmlBase's value is R

ValidXmlBaseOnDocumentElement

ValidXmlBaseOnDocumentElement.xml (row 97)

A valid xml:base specified on a 'document' element should not result in an error.
xmlBase Valid Valid Valid Optional

Inconsistent values: primary feature xmlBase's value is R

ValidXmlBaseOnInstance

ValidXmlBaseOnInstance.xml (row 98)

A valid xml:base on an instance document should not result in an error.
xmlBase Valid Valid Valid Optional

Inconsistent values: primary feature xmlBase's value is R

ValidXmlBaseWinsOverBaseURI

ValidXmlBaseWinsOverBaseURI.xml (row 99)

When both a baseURI and xml:base are specified, xml:base should be used.
rules Invalid Invalid Invalid Required InValidSchematronRule

Invalid.xml (row 100)

A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule.
locid Invalid Invalid Invalid Optional InValidSchematronRuleEnglish

InvalidLocidEnglish.xml (row 101)

A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the English resource bundle.
locid Invalid Invalid Invalid Optional InValidSchematronRuleGerman

InvalidLocidGerman.xml (row 102)

A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. Error message will be taken from the German resource bundle.
locid Invalid Invalid Invalid Optional InValidSchematronRuleMissingBundle

InvalidLocidMissingBundle.xml (row 103)

A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale).
locid Invalid Invalid Invalid Optional InValidSchematronRuleMissingBundlePackage

InvalidLocidMissingBundlePackage.xml (row 104)

A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid indicates the locale of the error message to be French, but since French resource bundle doesn't exist, we expect the error message to be taken from the English resource bundle (the default locale).
locid Invalid Invalid Invalid Optional InValidSchematronRuleMissingKey

InvalidLocidMissingKey.xml (row 105)

A model with a Schematron rule defined for an element is invalid if at least one instances of the element does not satisfy the rule. locid is specified in a schematron to get a message from the English resource bundle. However, since the key "abc" does not exist in the resource bundle, the text in the schematron is used.
ruleBindings Invalid Invalid Invalid Required InValidRuleBinding-MultipleRulesSameDocument-BothFail

InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml (row 106)

Two rules are bound to the same document - both fail.
ruleBindings Invalid Invalid Invalid Required InValidRuleBinding-MultipleRulesSameDocument

InValidRuleBinding-MultipleRulesSameDocument.xml (row 107)

Two rules are bound to the same document. One passes, one fails.
ruleBindings Invalid Invalid Invalid Required InValidRuleBinding

InValidRuleBinding.xml (row 108)

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.
ruleBindings Invalid Invalid Invalid Required InValidRuleBindingWithBaseURI

InValidRuleBindingWithBaseURI.xml (row 109)

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. This example binds an instance document with a rule binding using the base URI.
ruleBindings Invalid Invalid Invalid Required InValidRuleBindingWithPrefix

InValidRuleBindingWithPrefix.xml (row 110)

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. This example binds an instance document based on the prefix of document aliases
rules Invalid Invalid Invalid Required InValidRuleType

InValidRuleType.xml (row 111)

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.
rules Invalid Invalid Invalid Required InValidRuleTypeExtension

InValidRuleTypeExtension.xml (row 112)

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.
rules Invalid Invalid Invalid Required InValidRuleTypeRestriction

InValidRuleTypeRestriction.xml (row 113)

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.
rules Invalid Invalid Invalid Required ValidSchematronRule

Valid.xml (row 114)

A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule.
validation Valid Valid Valid Required ValidXMLSchema

ValidNoSML.xml (row 115)

Basic XML Schema file, no SML extensions used.
ruleBindings Valid Valid Valid Required ValidRuleBinding

ValidRuleBinding.xml (row 116)

A model with a Schematron rule that is bound to some instance documents is valid if the rule is satisfied by all bound documents.
targetElement Invalid Invalid Invalid Required InvalidTargetElement

InValid.xml (row 117)

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.
targetElement Invalid Invalid Invalid Required InValidDerivationByRestriction

InValidDerivationByRestriction.xml (row 118)

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.
targetElement Invalid Invalid Invalid Required InValidSameNameElements

InValidSameNameElements.xml (row 119)

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}.
targetElement Invalid Invalid Invalid Required ValidateTargetElementExists2

InvalidValue.xml (row 120)

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)
targetElement Invalid Invalid Invalid Required InvalidTargetElementWithSubstitutionGroup

InValidWithSubstitutionGroup.xml (row 121)

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.
targetElement Valid Valid Valid Required ValidTargetElement

Valid.xml (row 122)

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.
targetElement Valid Valid Valid Required ValidDerivationByRestriction

ValidDerivationByRestriction.xml (row 123)

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.
targetElement Valid Valid Valid Required ValidSameNameElements

ValidSameNameElements.xml (row 124)

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}.
targetElement Valid Valid Valid Required ValidTargetElementWithSubstitutionGroup

ValidWithSubstitutionGroup.xml (row 125)

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
targetRequired Invalid Invalid Invalid Required InvalidTargetRequired

InValid.xml (row 126)

If targetElement=GTE for a global element declaration E, and targetRequired=true, an instance of the SML reference cannot contain an unresolved reference which does not target any element in the model.
targetRequired Invalid Invalid Invalid Required InvalidTargetRequiredMissingReference

InvalidMissingReference.xml (row 127)

If targetElement=GTE for a global element declaration E, and targetRequired=true, an instance of the SML reference must exist.
targetRequired Invalid Invalid Invalid Required InvalidTargetRequiredNullReference

InvalidNullReference.xml (row 128)

If targetElement=GTE for a global element declaration E, and targetRequired=true, an instance of the SML reference cannot be null.
targetRequired Invalid Invalid Invalid Required InValidSameNameElements

InValidSameNameElements.xml (row 129)

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}.
targetRequired Valid Valid Valid Required ValidTargetRequired

valid.xml (row 130)

Tests for correct usage of targetRequired.
targetRequired Valid Valid Valid Required ValidTargetRequiredFalse

ValidFalseRequire.xml (row 131)

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. targetRequired=false.
targetRequired Valid Valid Valid Required ValidTargetRequiredSameNameElements

ValidSameNameElements.xml (row 132)

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}.
targetRequired Valid Valid Valid Required ValidTargetRequiredWithTargetType

ValidType.xml (row 133)

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. Includes targetRequired=true.
targetRequired Valid Valid Valid Required ValidTargetRequiredFalseWithTargetType

ValidTypeFalse.xml (row 134)

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. Includes targetRequired=false.
targetType Invalid Invalid Invalid Required InvalidTargetType

InValid.xml (row 135)

If targetType='T' 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 T
targetType Invalid Invalid Invalid Required InValidDerivationByRestriction

InValidDerivationByRestriction.xml (row 136)

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.
targetType Invalid Invalid Invalid Required InValidSameNameElements

InValidSameNameElements.xml (row 137)

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}.
targetType Invalid Invalid Invalid Required ValidateTargetTypeExists1

InValidValue.xml (row 138)

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)
targetType Invalid Invalid Invalid Required InValidTargetTypeWithSubstitutionGroup

InValidWithSubstitutionGroup.xml (row 139)

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.
targetType Valid Valid Valid Required ValidTargetType

Valid.xml (row 140)

If targetType='T' 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 T or a derived type of T
targetType Valid Valid Valid Required ValidDerivationByRestriction

ValidDerivationByRestriction.xml (row 141)

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.
targetType Valid Valid Valid Required ValidSameNameElements

ValidSameNameElements.xml (row 142)

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}.
targetType Valid Valid Valid Required ValidTargetTypeWithSubstitutionGroup

ValidWithSubstitutionGroup.xml (row 143)

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.
smlref Invalid Invalid Invalid Required InvalidWrongSMLNSURI.xml

InvalidWrongSMLNSURI.xml (row 144)

SML prefix bound to wrong namespace URI
targetRequired Invalid Invalid Invalid Required TargetRequiredInValidDerivationByRestriction.xml

TargetRequiredInValidDerivationByRestriction.xml (row 145)

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. Copied from /org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidDerivationByRestriction.xml and changed to work with target required instead
targetRequired Valid Valid Valid Required TargetRequiredValidDerivationByRestriction.xml

TargetRequiredValidDerivationByRestriction.xml (row 146)

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. Copied from /org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidDerivationByRestriction.xml and changed to work with target required instead 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. Copied from /org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidDerivationByRestriction.xml and changed to work with target required instead
targetRequired Invalid Invalid Invalid Required TargetRequiredInValidWithSubstitutionGroup.xml

TargetRequiredInValidWithSubstitutionGroup.xml (row 147)

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. Copied from /org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidDerivationByRestriction.xml and changed to work with target required instead
targetRequired Valid Valid Valid Required TargetRequiredValidWithSubstitutionGroup.xml

TargetRequiredValidWithSubstitutionGroup.xml (row 148)

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. Copied from /org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/ValidDerivationByRestriction.xml and changed to work with target required instead 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. Copied from /org.eclipse.cosmos.rm.validation.tests/src/test-resources/targetElement/InValidDerivationByRestriction.xml and changed to work with target required instead
acyclic Invalid Invalid Invalid Required AcyclicInValidCycleSameDoc.xml

AcyclicInValidCycleSameDoc.xml (row 149)

A model is invalid if an instance of an acyclic type CT references itself, even w/in the same document
acyclic Valid Valid Valid Required AcyclicValidCycleSameDoc.xml

AcyclicValidCycleSameDoc.xml (row 150)

Let R1 be a reference type with sml:acyclic=᾿false᾿. Then a model is valid if it has same-document cycles using instances of R1
dtdID Valid Valid Not applicable Optional ValidBareNameDTDDeterminedIDBareName.xml

ValidBareNameDTDDeterminedIDBareName.xml (row 151)

This SML-IF demonstrates the use of bare names in sml:uri references. Copied from ValidBareName and converted from schema- to DTD-determined ID.
smlref Valid Valid Valid Required ValidKeyUniqueDeref.xml

ValidKeyUniqueDeref.xml (row 152)

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. Copy and tweak based on /org.eclipse.cosmos.rm.validation.tests/src/test-resources/identity/ValidKeyUnique.xml

Statistics:

Total test case tags in XML file151
Non-blank test case tags in XML file145
Blank test case tags in XML file6