Primary Feature Tested | Expected Result | Eclipse COSMOS Result | Microsoft Result | Feature Type | Test Case Name
Test Case File Name |
Test Case Description |
---|---|---|---|---|---|---|
acyclic | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Optional Inconsistent values: primary feature acyclic's value is R |
InvalidCyclesWithAcyclicReferences InValidCycle.xml |
A model is invalid if an instance of an acyclic type CT references itself. |
acyclic | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidCyclesWithAcyclicReferences InValidCycleAbstract.xml |
A model is invalid if instances of an element type CT derived from the abstract acyclic element type CT' form a cycle. |
acyclic | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidCyclesWithAcyclicReferences InValidCycleAnonymous.xml |
A model is invalid if instances of the acyclic anonymous type CT form a cycle |
acyclic | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidCyclesWithAcyclicReferences InValidCycleByExtension.xml |
A model is invalid if instances of an acyclic element type CT (or derived types by restriction) create a cycle |
acyclic | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidCyclesWithAcyclicReferences InValidCycleByRestriction.xml |
A model is invalid if instances of an acyclic element type CT (or derived types by restriction) create a cycle |
acyclic | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidDerivationWithAcyclicAttribute InValidDerivation.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | ValidateAcyclicDefinition ValidateDefinition.xml |
This test returns a warning if the sml:acyclic attribute is defined on an element declaration |
acyclic | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidCyclesWithAcyclicReference2 ValidCycle.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | InvalidCyclesWithAcyclicReferences ValidCycleNoReference.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | InvalidCyclesWithAcyclicReferences ValidCycleNullReference.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidCycles3 ValidCycleVariation.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | ValidDerivationWithAcyclicAttribute ValidDerivation.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidCyclesWithAcyclicReference1 ValidMultipleAcyclics.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidUnresolvedReference ValidUnresolvedReference.xml |
A model is valid if an element instance with sml:acyclic="true" references an unresolved document. |
Base64 | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | Base64DTDEntity Base64DTDEntity.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | Required | Base64DTDInvalidXML Base64DTDInvalidXML.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | Base64DTDMissingEntities Base64DTDMissingEntities.xml |
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 | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | Required | Base64EncodedDoc Base64EncodedDoc.xml |
An instance document is base64 encoded. |
Base64 | ? value not allowed | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | Base64EncodedDocs Base64EncodedDocs.xml |
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 | ? value not allowed | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | Base64EncodedSchema Base64EncodedSchema.xml |
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 | ? value not allowed | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | Base64EncodedSchemaAndDoc Base64EncodedSchemaAndDoc.xml |
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 | ? value not allowed | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | Base64EncodedSchemaAndDocs Base64EncodedSchemaAndDocs.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | Base64InvalidEncoding Base64InvalidEncoding.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | Base64InvalidSML Base64InvalidSML.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | SingleRef InValidUnrecognizedScheme.xml |
Verify a schematron test using a deref function to resolve an unrecognized reference scheme will fail |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidSchemeDerefUsed InValidUsageWithScheme.xml |
A model is invalid if an smlxpath1 scheme contains a deref() in the evaluator. |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | MultipleDeref Multiple.xml |
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 | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional Inconsistent values: primary feature smlref's value is R |
MultipleNonRootXpointer MultipleNonRoot.xml |
Verify that deref() can resolve references that target non-root elements using XPointer scheme. |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | SingleRef Single.xml |
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. |
Feature name missing | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | value not allowed | ||
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InvalidConstraintSubstitution InValidConstraintGroup.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidConstraintRefAttributes InValidConstraintRefAttributes.xml |
A model is invalid if an identity constraint includes both the 'ref' and 'name' attribute |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidConstraintRefElements InValidConstraintRefElements.xml |
A model is invalid if the sml:field or sml:selector child elements are specified for a referenced identity constraint. |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InvalidConstraintRefKey InValidConstraintRefKey.xml |
A model is invalid if a referenced identity constraint type does not match to what it's resolved to. |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidConstraintRefNoKey InValidConstraintRefNoKey.xml |
A model is invalid if a referenced identity constraint cannot be resolved |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidConstraintSubstitution InValidConstraintSubstitution.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidDuplicateConstraintSubst InValidDuplicateConstraintNameSubst.xml |
A model is invalid if two constraint names indirectly declared through substitution group have the same name |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InvalidDuplicateConstraintName1 InValidDuplicateKeyConstraintName.xml |
A model is invalid if two constraint names under the same element have the same name |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidKeyDuplicate InValidKeyDuplicate.xml |
Verify that a model with a key constraint is invalid if the field values are not unique. |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidKeyMissing InValidKeyMissing.xml |
Verify that a model with a key constraint is invalid if some field values are missing. |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidConstraintSubstitution InValidUnionConstraintWithSubstitution.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidUnique InValidUnique.xml |
Verify that a model with a unique constraint is invalid if the field values are not unique. |
idConstraint | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | ValidConstraintRefKeyref ValidConstraintRefKeyref.xml |
A model is valid if a referenced identity constraint is used using the 'ref' attribute |
idConstraint | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidKeyref ValidKeyref.xml |
Verify keyref constraint. |
idConstraint | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidKeyUnique ValidKeyUnique.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidKeyUniqueInScopeOnly ValidKeyUniqueInScopeOnly.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | InValidKeyDuplicate ValidSmlXSKey.xml |
It is not an error if SML identity constraint and XML identity constraint share the same name. |
locator | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidInCompleteModel InValid.xml |
This test verifies that an incomplete model is invalid |
aliases | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidAliasValue InValidAliasValue.xml |
This test verifies that the code returns an error when an alias contains an invalid value. |
aliases | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidAliasHasFragmentComp InValidAliasWithFragment.xml |
This test verifies that the code returns an error when an alias contains a fragment component. |
aliases | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidDuplicateAliases InValidDuplicateAliases.xml |
This test verifies that the code returns an error when two aliases resolve to the same URI |
Feature embedded? not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidMultipleDocument InValidMultipleDocument.xml |
This test verifies that the code returns an error if the data element contains more than one document. |
locator | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | TestDocumentLocator remote-document.xml |
Tests the correct implementation of the locator element |
rules | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | TestRulesWithMultiplePatterns rulesWithMultiplePattern.xml |
Tests that rules that have multiple patterns are handled correctly |
rules | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | TestMultipleRulesUnderOnePattern rulesWithMultipleRulesUnderOnePattern.xml |
Tests that patterns with multiple rules are handled correctly |
validation | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | TestSchemaValidationFailure schemaValidationFailure.xml |
Tests that validation against the schema fails. |
Feature embedded not found in master list of features | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidEmptyDocument ValidEmptyDocument.xml |
This test verifies that it is valid to have an empty document. |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | UnresolvedRef DanglingRef.xml |
A valid model can contain unresolved references |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | IntraDocumentRef IntraDocumentRef.xml |
It is valid for a reference to target an element in the same document. |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | InvalidBareNameUnresolved InvalidBareNameDangling.xml |
This SML-IF contains an SML reference that is a unresolved reference. Bare name is used in this reference. |
Feature name missing | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | value not allowed | ||
Feature baseURI not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidBaseURI InValidBaseURI.xml |
A model is invalid if base URI is not valid |
Feature baseURI not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidBaseURIRelative InValidBaseURIRelative.xml |
A model is invalid if the base URI is not absolute |
Feature baseURI not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidBaseURIHasFragmentComp InValidBaseURIWithFragment.xml |
A model is invalid if the base URI contains a fragment |
Feature name missing | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | value not allowed | ||
Feature name missing | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | value not allowed | ||
Feature baseURI not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidMissingBaseURIAttr1 InValidMissingBaseURIAttr.xml |
A model is invalid if a reference is relative and the base URI is missing |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidRefResolvesToMultipleElements InValidMultipleElements.xml |
A model is invalid if a reference scheme resolves to multiple elements |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidRefResolvesToMultipleElements InValidMultipleElementsVariation.xml |
A model is invalid if a reference element is identified with sml:ref="1" and its scheme resolves to multiple elements |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | SingleRef InValidNullifiedDeref.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InvalidSchemeResultContainsNonElements InValidSchemeResult.xml |
A model is invalid if a reference using smlxpath1 scheme resolves to anything other than an element set. |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidSchemeSyntaxError InValidSchemeSyntax.xml |
A model is invalid if the content of the smlxpath1 scheme is syntactically incorrect. |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidSmlRefValue InValidSMLRefValue.xml |
A model is invalid if the value of sml:ref is not valid |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidSchemeNamespaceUnknown InValidUnknownNamespace.xml |
A model is invalid if a reference using the smlxpath1 scheme uses a prefix without a bound namespace. |
Feature xml:base not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidXMLBase InValidXmlBase.xml |
A model is invalid if xml:base is not valid |
Feature xml:base not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidXMLBaseRelative InValidXmlBaseRelative.xml |
A model is invalid if the xml:base is not absolute |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | MultipleRefToAnElement MultipleRefToAnElement.xml |
It is valid for an element in a document to be targeted by multiple different references from other documents |
smlref | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Required | NullRefElement NullRefElement.xml |
It is valid for a reference element to be null |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | RefToNonRootElement RefToNonRootElement.xml |
It is valid for a reference in a document to target a non-root element in some other document. |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | RefToRootElement RefToRootElement.xml |
It is valid for a reference in a document to target the root element in some other document. |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidBareNameAbsURI ValidBareName.xml |
This SML-IF demonstrates the use of bare names in sml:uri references. |
Feature name missing | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | value not allowed | ||
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidBareNameSameDocRef ValidBareNameSameDocRef.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidRefTwoSchemesNilSpecified ValidDanglingReference.xml |
A model is valid if it contains a nullified reference with two schemes, one resolving to an element and another unresolved. |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidMissingBaseURIAttr2 ValidFragmentOnlyReference.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidRefNilrefSpecified1 ValidInconsistentNonReference.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidRefNilrefSpecified1 ValidInconsistentReference.xml |
A model is valid if it contains a nullified reference with multiple schemes resolving to two different elements |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidMissingBaseURIAttr1 ValidMissingBaseURI.xml |
A model is valid if there are not references and the base URI is missing |
Feature name missing | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | no result asserted - use NA if test case uses features not supported by the implementation | value not allowed | ||
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidNilRefDefinition ValidNilRef.xml |
A model is valid if sml:nilref is used in conjunction with sml:ref="true" |
smlref | ? value not allowed | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | ValidNilRefPSVI ValidNilRefPSVI.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidSchemeNamespaceInherited ValidReferenceScheme.xml |
A model is valid when a reference using the smlxpath1 scheme uses a prefix declared in a containing element |
smlref | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | SingleRef ValidSMLRefPSVI.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidRefOneSchemeResolvesOtherUnknown ValidUnknownRefScheme.xml |
A model is valid if a reference contains two schemes, one resolving to an element and the other being unknown. |
Feature xml:base not found in master list of features | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Optional | ValidXmlBase ValidXmlBase.xml |
A valid xml:base should not result in an error. |
Feature xml:base not found in master list of features | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Optional | ValidXmlBaseOnDocumentElement ValidXmlBaseOnDocumentElement.xml |
A valid xml:base specified on a 'document' element should not result in an error. |
Feature xml:base not found in master list of features | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Optional | ValidXmlBaseOnInstance ValidXmlBaseOnInstance.xml |
A valid xml:base on an instance document should not result in an error. |
Feature xml:base, baseURI not found in master list of features | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Optional | ValidXmlBaseWinsOverBaseURI ValidXmlBaseWinsOverBaseURI.xml |
When both a baseURI and xml:base are specified, xml:base should be used. |
rules | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidSchematronRule Invalid.xml |
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. |
Feature rules, locid not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidSchematronRuleEnglish InvalidLocidEnglish.xml |
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. |
Feature rules, locid not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidSchematronRuleGerman InvalidLocidGerman.xml |
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. |
Feature rules, locid not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidSchematronRuleMissingBundle InvalidLocidMissingBundle.xml |
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). |
Feature rules, locid not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidSchematronRuleMissingBundlePackage InvalidLocidMissingBundlePackage.xml |
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). |
Feature rules, locid not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Not applicable | Optional | InValidSchematronRuleMissingKey InvalidLocidMissingKey.xml |
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. |
Feature rules, rule-binding not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleBinding-MultipleRulesSameDocument-BothFail InValidRuleBinding-MultipleRulesSameDocument-BothFail.xml |
Two rules are bound to the same document - both fail. |
Feature rules, rule-binding not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleBinding-MultipleRulesSameDocument InValidRuleBinding-MultipleRulesSameDocument.xml |
Two rules are bound to the same document. One passes, one fails. |
Feature rules, rule-binding not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleBinding InValidRuleBinding.xml |
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. |
Feature rules, rule-binding not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleBindingWithBaseURI InValidRuleBindingWithBaseURI.xml |
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. |
Feature rules, rule-binding not found in master list of features | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleBindingWithPrefix InValidRuleBindingWithPrefix.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleType InValidRuleType.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleTypeExtension InValidRuleTypeExtension.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InValidRuleTypeRestriction InValidRuleTypeRestriction.xml |
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 | no result asserted | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | ValidSchematronRule Valid.xml |
A model with a Schematron rule defined for an element is valid if all instances of the element satisfy the rule. |
validation | Valid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | ValidXMLSchema ValidNoSML.xml |
Basic XML Schema file, no SML extensions used. |
Feature rules, rule-binding not found in master list of features | Valid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | ValidRuleBinding ValidRuleBinding.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidTargetElement InValid.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidDerivationByRestriction InValidDerivationByRestriction.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidSameNameElements InValidSameNameElements.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | ValidateTargetElementExists2 InvalidValue.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidTargetElementWithSubstitutionGroup InValidWithSubstitutionGroup.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetElement Valid.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidDerivationByRestriction ValidDerivationByRestriction.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidSameNameElements ValidSameNameElements.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetElementWithSubstitutionGroup ValidWithSubstitutionGroup.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidTargetRequired InValid.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InvalidTargetRequiredMissingReference InvalidMissingReference.xml |
If targetElement=GTE for a global element declaration E, and targetRequired=true, an instance of the SML reference must exist. |
targetRequired | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | ? value not allowed | Required | InvalidTargetRequiredNullReference InvalidNullReference.xml |
If targetElement=GTE for a global element declaration E, and targetRequired=true, an instance of the SML reference cannot be null. |
targetRequired | Invalid | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidSameNameElements InValidSameNameElements.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetRequired valid.xml |
Tests for correct usage of targetRequired. |
targetRequired | Valid | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetRequiredFalse ValidFalseRequire.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetRequiredSameNameElements ValidSameNameElements.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetRequiredWithTargetType ValidType.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetRequiredFalseWithTargetType ValidTypeFalse.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InvalidTargetType InValid.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidDerivationByRestriction InValidDerivationByRestriction.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidSameNameElements InValidSameNameElements.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | ValidateTargetTypeExists1 InValidValue.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Invalid | Required | InValidTargetTypeWithSubstitutionGroup InValidWithSubstitutionGroup.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetType Valid.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidDerivationByRestriction ValidDerivationByRestriction.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidSameNameElements ValidSameNameElements.xml |
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 | no result asserted - use NA if test case uses features not supported by the implementation | Valid | Required | ValidTargetTypeWithSubstitutionGroup ValidWithSubstitutionGroup.xml |
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. |