Abstract declarations may not be used to validate element content. (valid schema) Define an element within a substitution group headed by another element which is abstract. The elements have the same type. Try to substitute the head element with the first one. Try to use the head itself. use abstarct explicitly set to true (valid schema) Declare an element with abstarct explicitly set to true. Try to use it in the xml document. use abstarct explicitly set to false (valid schema) Declare an element with abstarct explicitly set to false. Try to use it in the xml document. use default value of the attribute abstract (valid schema) Declare an element with default value of the attribute abstract. Try to use it in the xml document. human-targeted annotation for element declaration (valid schema) Annotations provide for human- and machine-targeted annotations of schema components. In the test the human-targeted annotation is provided for an element declaration. human-targeted misplaced annotation for element declaration (invalid schema) Annotations provide for human- and machine-targeted annotations of schema components. In the test the human-targeted annotation is provided for an element declaration. The annotation is misplaced. machine-targeted annotation for element declaration (valid schema) Annotations provide for human- and machine-targeted annotations of schema components. In the test the machine-targeted annotation is provided for an element declaration. machine-targeted misplaced annotation for element declaration (invalid schema) Annotations provide for human- and machine-targeted annotations of schema components. In the test the machine-targeted annotation is provided for an element declaration. The annotation is misplaced. Blocking any substitution. (valid schema) Define an element within a substitution group headed by another element. The elements have the same type. Block (disallow) a substitution of the head. Try to substitute the head element with the first one. Blocking any substitution (positive case) (valid schema) Define an element within a substitution group headed by another element. The elements have the same type. Block (disallow) a substitution of the head. Try to substitute the head element with the first one. Blocking any substitution (negative case) (valid schema) Define an element within a substitution group headed by another element. The elements have the same type. Block (disallow) a substitution of the head. Try to substitute the head element with the first one. Blocking any extension. (valid schema) Define an element within a substitution group headed by another element. The first element has a type extended from the type of the head. Block (disallow) an extension of the head. Try to substitute the head element with the first one. Blocking any extension (positive case) (valid schema) Define an element within a substitution group headed by another element. The first element has a type extended from the type of the head. Block (disallow) an extension of the head. Try to substitute the head element with the first one. Blocking any extension (negative case) (valid schema) Define an element within a substitution group headed by another element. The first element has a type extended from the type of the head. Block (disallow) an extension of the head. Try to substitute the head element with the first one. Illegal value is used. (invalid schema) The block attribute is set to illegal value. Try blocking "substitution extension restriction #illegalValue" (invalid schema) Try to set block attribute to "substitution extension restriction #illegalValue" Try blocking "extension substitution restriction #illegalValue" (invalid schema) Try to set block attribute to "extension substitution restriction #illegalValue" Various subsets of blocking values. (valid schema) Various subsets of blocking values are used for a number of elemen declarations. Try blocking "#all #illegalValue" (invalid schema) Try to set block attribute to "#all #illegalValue" Try blocking "substitution #illegalValue" (invalid schema) Try to set block attribute to "substitution #illegalValue" Try blocking "restriction #illegalValue" (invalid schema) Try to set block attribute to "restriction #illegalValue" Try blocking "extension #illegalValue" (invalid schema) Try to set block attribute to "extension #illegalValue" Try blocking "substitution restriction #illegalValue" (invalid schema) Try to set block attribute to "substitution restriction #illegalValue" Try blocking "extension substitution #illegalValue" (invalid schema) Try to set block attribute to "extension substitution #illegalValue" Try blocking "restriction substitution #illegalValue" (invalid schema) Try to set block attribute to "restriction substitution #illegalValue" Try blocking "substitution restriction extension #illegalValue" (invalid schema) Try to set block attribute to "substitution restriction extension #illegalValue" substitution is allowed (valid schema) The blocking constraint must not contain substitution for an element declaration to be validly substituteable for another element declaration. In the test any substitution for element Head is allowed. substitution is disallowed (valid schema) The blocking constraint must not contain substitution for an element declaration to be validly substituteable for another element declaration. In the test any substitution for element Head is disallowed. substitution is allowed (valid schema) The blocking constraint must not contain substitution for an element declaration to be validly substituteable for another element declaration. In the test any substitution for element Head is allowed. substitution is disallowed (valid schema) The blocking constraint must not contain substitution for an element declaration to be validly substituteable for another element declaration. In the test any substitution for element Head is disallowed. no blocking constraints (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Blockong constraints of the first element is empty, so the second element is substitutable for the first one. restriction is blocked (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Blockong constraints of the first element contain 'restriction', so the second element is not substitutable for the first one. complex type substitution: no blocking constraints (valid schema) Two elements are declared. The second one has type derived by extension from type of the first element. Blockong constraints of the first element is empty, so the second element is substitutable for the first one. complex type substitution: restriction is blocked (valid schema) Two elements are declared. The second one has type derived by extension from type of the first element. Blockong constraints of the first element contain 'restriction', so the second element is substitutable for the first one. complex type substitution: extension is blocked (valid schema) Two elements are declared. The second one has type derived by extension from type of the first element. Blockong constraints of the first element contain 'extension', so the second element is not substitutable for the first one. complex type substitution: extension and restriction are blocked (valid schema) Two elements are declared. The second one has type derived by extension from type of the first element. Blockong constraints of the first element contain 'restriction extension', so the second element is not substitutable for the first one. derived by restriction: prohibiting substitutions is empty (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Prohibiting substitutions of the first element's type is empty, so the second element is substitutable for the first one. derived by restriction: prohibiting substitutions contains 'extension' (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Prohibiting substitutions of the first element's type contain 'extension', so the second element is substitutable for the first one. derived by restriction: prohibiting substitutions contains 'restriction' (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Prohibiting substitutions of the first element's type contain 'restriction', so the second element is not substitutable for the first one. derived by restriction: prohibiting substitutions contains 'restriction extension' (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Prohibiting substitutions of the first element's type contain 'restriction extension', so the second element is not substitutable for the first one. derived by restriction: prohibiting substitutions contains '#all' (valid schema) Two elements are declared. The second one has type derived by restriction from type of the first element. Prohibiting substitutions of the first element's type contain '#all', so the second element is not substitutable for the first one. Uniqueness among values of elements. (valid schema) Define and check a uniqueness among values of elements. all kinds of identity constraint are not violated (valid schema) Define and check key, keyref and uniqueness among values of elements. In the test all kinds of identity constraint are not violated. there must be no multiply-defined ID (valid schema) Define a key identity constraint with two fields. Ensure that the constraint prevents one key to be defined twice. there must be no uniqueness violations (valid schema) Define a uniqueness identity constraint with two fields. Ensure that the constraint prevents one pair of values to be defined twice. keyref must refer to a key that is defined (valid schema) Define a key identity constraint. Define a keyref to that key. Ensure that the keyref field is not allowed to refer to a key that is not defined. all ID, IDREF, IDREFS are valid (valid schema) All ID, IDREF and IDREFS values are valid. all attributes of type ID, IDREF, IDREFS are valid (valid schema) All ID, IDREF and IDREFS attributes are valid. derived IDREF must refer to an ID that is defined (cyclic) (valid schema) Declare an attribute of a type derived from ID. Declare an attribute of a type derived from IDREF. Ensure that the second attribute is allowed to refer to a value that is defined by the first attribute defined in the same element information item. derived IDREF must refer to an ID that is defined (valid schema) Declare an attribute of a type derived from ID. Declare an attribute of a type derived from IDREF. Ensure that the second attribute is not allowed to refer to a value that is not defined by the first attribute. derived IDREFS must refer to IDs that are defined (valid schema) Declare an attribute of a type derived from ID. Declare an attribute of a type derived from IDREFS. Ensure that the second attribute is not allowed to refer to a values that are not defined by the first attribute. there must be no multiply-defined ID (valid schema) Declare an attribute of a type derived from ID. Ensure that two element information items may not have that attributes with the same values. Default value of the {maxOccurs} property. (valid schema) Define one global element and one local. Omit maxOccurs attribute. Check that the value of the {maxOccurs} property is 1. Default value of the {maxOccurs} property when the ref attribute is used. (valid schema) Define one local that refers to a global one. Omit maxOccurs attribute. Check that the value of the {maxOccurs} property is 1. Default value of the {minOccurs} property. (valid schema) Define one global element and one local. Omit minOccurs attribute. Check that the value of the {minOccurs} property is 1. Default value of the {minOccurs} property when the ref attribute is used. (valid schema) Declare a local element with a reference to a global one. Omit minOccurs attribute. Check that the value of the {minOccurs} property is 1. General check of the {name} property. (valid schema) Define two elements with incompatible types. Check that the elements are validated properly. complexType definitions and element declarations have different symbol spaces. (valid schema) Declare an element. Define a complexType with the same name. Check that there is no name clash. simpleType definitions and element declarations have different symbol spaces. (valid schema) Declare an element. Define a simpleType with the same name. Check that there is no name clash. Local element names do not clash. (valid schema) Declare two local elements with the same name but in different scope. the name attribute is set (valid schema) Declare an element. Set name="Local". Check that the schema is valid. the root attribute is set (valid schema) Declare an element. Set ref="root". Check that the schema is valid. Both name and ref attributes are set (invalid schema) Declare an element. Set name="Local" ref="root". Check that the schema is invalid. Both ref and name attributes are set (invalid schema) Declare an element. Set ref="root" name="Local". Check that the schema is invalid. Both name and ref attributes are set to the same value (invalid schema) Declare an element. Set name="root" ref="root". Check that the schema is invalid. nillable is present (valid schema) Declare an element. Set name ="Local" nillable="true" type="xsd:boolean". Check that the schema is valid. block and ref are present (invalid schema) Declare an element. Set ref="Main" block="#all". Check that the schema is invalid. type is present (valid schema) Declare an element. Set name ="Local" type="xsd:boolean". Check that the schema is valid. type and ref are present (invalid schema) Declare an element. Set ref="Main" type="xsd:boolean". Check that the schema is invalid. minOccurs and ref are present (valid schema) Declare an element. Set ref="Main" minOccurs="0". Check that the schema is valid. maxOccurs and ref are present (valid schema) Declare an element. Set ref="Main" maxOccurs="unbounded". Check that the schema is valid. id and ref are present (valid schema) Declare an element. Set ref="Main" id="X123". Check that the schema is valid. nillable and ref are present (invalid schema) Declare an element. Set ref="Main" nillable="true". Check that the schema is invalid. default is present (valid schema) Declare an element. Set name ="Local" default="true" type="xsd:boolean". Check that the schema is valid. default and ref are present (invalid schema) Declare an element. Set ref="Main" default="true". Check that the schema is invalid. fixed is present (valid schema) Declare an element. Set name ="Local" fixed="true" type="xsd:boolean". Check that the schema is valid. fixed and ref are present (invalid schema) Declare an element. Set ref="Main" fixed="true". Check that the schema is invalid. form is present (valid schema) Declare an element. Set name ="Local" form="qualified" type="xsd:boolean". Check that the schema is valid. form and ref are present (invalid schema) Declare an element. Set ref="Main" form="qualified". Check that the schema is invalid. block is present (valid schema) Declare an element. Set name ="Local" block="#all" type="xsd:boolean". Check that the schema is valid. element declaration with complex type (valid schema) Declare an element using inline complex type definition. Check that the schema is valid. element declaration with complex type when ref attribute is used (invalid schema) Declare an element using inline complex type definition. Set its ref attribute. Check that the schema is invalid. element declaration with simple type (valid schema) Declare an element using inline simple type definition. Check that the schema is valid. element declaration with simple type when ref attribute is used (invalid schema) Declare an element using inline simple type definition. Set its ref attribute. Check that the schema is invalid. element declaration with key (valid schema) Declare an element with key . Check that the schema is valid. element declaration with key when ref attribute is used (invalid schema) Declare an element with key . Set its ref attribute. Check that the schema is invalid. element declaration with unique (valid schema) Declare an element with unique . Check that the schema is valid. element declaration with unique when ref attribute is used (invalid schema) Declare an element with unique . Set its ref attribute. Check that the schema is invalid. element declaration with keyref (valid schema) Declare an element with keyref . Check that the schema is valid. element declaration with keyref when ref attribute is used (invalid schema) Declare an element with keyref . Set its ref attribute. Check that the schema is invalid. The declaration must not be absent (valid schema) Declare an element root . Use element information item with respect to the element declaration. The negative case uses undeclared element. Element names contain several punctuation characters. (valid schema) Declare an element with a sequence of elements of type int. Name the elements using 7 punctuation characters: hyphen ('-', \u002D, HYPHEN-MINUS), period ('.', \u002E, FULL STOP), underscore ('_', \u005F, LOW LINE), dot ('.', \u00B7, MIDDLE DOT), \u0387, GREEK ANO TELEIA, \u06DD, ARABIC END OF AYAH and \u06DE, ARABIC START OF RUB EL HIZB. The document name00801_p.xml sets the elements to 0, 1, 2, ..., 6 respectively. Element name contains 7 punctuation characters. (valid schema) Declare an element with a sequence of two int elements. Name the first one using 7 punctuation characters: hyphen ('-', \u002D, HYPHEN-MINUS), period ('.', \u002E, FULL STOP), underscore ('_', \u005F, LOW LINE), dot ('.', \u00B7, MIDDLE DOT), \u0387, GREEK ANO TELEIA, \u06DD, ARABIC END OF AYAH and \u06DE, ARABIC START OF RUB EL HIZB. Name the second element with the same name except the characters described. The document name00802_p.xml sets the elements to 0 and 1 respectively. Element names contain digits followed by a non-digit characters. (valid schema) Declare an element with a sequence of three integer elements. Name them as follows: "aa111a2Aa", "aa22B3c", "aa3-4_". The document name00803_p.xml sets the elements to 0, 1 and 2 respectively. Element names contain lower case and upper case letters and non-letter characters. (valid schema) Declare an element with a sequence of integer elements. Name them as follows: "aaaa", "bbbB", "ccCc", "ddDD", "eEee", "fFfF", "pPPp", "gGGG", "Hhhh", "IiiI", "JjJj", "KkKK", "LLll", "MMmM", "NNNn", "OOOO", "bbb0", "cc0c", "dd00", "e0ee", "f0f0", "p00p", "g000", "bbb_", "cc_c", "dd__", "e_ee", "f_f_", "p__p", "g___", "H111", "I11I", "J1J1", "K1KK", "LL11", "MM1M", "NNN1", "H---", "I--I", "J-J-", "K-KK", "LL--", "MM-M", "NNN-". The document name00804_p.xml sets all the elements. Element names contain only punctuation characters and digits. (valid schema) Declare an element with a sequence of two integer elements. Name the first one as "_-." and the second one as "_-0.". The document name00805_p.xml sets the attributes to 0 and 1 respectively. nillable=false (positive case) (valid schema) Define nillable element with content type which requires content. Try nillable=false. nillable=false (negative case) (valid schema) Define nillable element with content type which requires content. Try nillable=false. xsi:nil=false (valid schema) Define nillable element with content type which requires content. Try xsi:nil=false. nillable=false and xsi:nil=true (valid schema) Declare a non-nillable element. Try xsi:nil="true".The test is negative. the element information item must have no character if nil is specified (valid schema) Declare a nillable element. Set the element to be nil . Negative case tries to have characters. the element information item must have no element information children if nil is specified (valid schema) Declare a nillable element of a complex type. Set the element to be nil . Negative case tries to have children. there may be a fixed {value constraint} along with nillable set to true (valid schema) Declare a nillable element. The the second variant declares the element to have fixed value. there may be a fixed {value constraint} along with nillable set to true (valid schema) Declare a nillable element. The the second variant declares the element to have fixed value. General check of the {scope} property. (valid schema) Define one global element and one local. Locally scoped element (positive case). (valid schema) Using localy scoped element within the complex type. Locally scoped element (negative case). (invalid schema) Using localy scoped element within the complex type. Scope of a named group. (valid schema) Define a group with two elements. Use the group in a complexType. General check of the {substitution group affiliation} property. (valid schema) Define two elements within one substitution group and one outside the group. Substitution group memebership is transitive but not symmetric. (valid schema) Define an element within a substitution group of another one. Then the last one within another group. Check the following: 1. the first element substitutes the element of the second group 2. the second element doesn't substitute the first one Rule out extension substitutions (positive case). (valid schema) Define three elements within one substitution group. The first has the same type, the second is derived as restriction and the third derived as extension. All the elments are the memebers of the substitution group. Try to rule out extension by means of {substitution group exclusions} property of the head element declaration. Rule out extension substitutions (negative case). (invalid schema) Define three elements within one substitution group. The first has the same type, the second is derived as restriction and the third derived as extension. All the elments are the memebers of the substitution group. Try to rule out extension by means of {substitution group exclusions} property of the head element declaration. Rule out both restriction and extension substitutions (positive case). (valid schema) Define one element within a substitution group headed by another element. The elements have the same type. Try to rule out both restriction and extension by means of {substitution group exclusions} property of the head element declaration. Try to substitute the head with the first element. Rule out both restriction and extension substitutions (positive case). (valid schema) Define one element within a substitution group headed by another element. The elements have the same type. Try to rule out both restriction and extension by means of {substitution group exclusions} property of the head element declaration. Try to substitute the head with the first element. Rule out both restriction and extension substitutions (positive case). (valid schema) Define one element within a substitution group headed by another element. The elements have the type extended from the type of the head element. Try to rule out both restriction and extension by means of {substitution group exclusions} property of the head element declaration. Try to substitute the head with the first element. Rule out both restriction and extension substitutions (negative case). (invalid schema) Define one element within a substitution group headed by another element. The elements have the type extended from the type of the head element. Try to rule out both restriction and extension by means of {substitution group exclusions} property of the head element declaration. Try to substitute the head with the first element. Rule out both restriction and extension substitutions (positive case). (valid schema) Define one element within a substitution group headed by another element. The elements have the type extended from the type of the head element. Try to rule out both restriction and extension by means of {substitution group exclusions} property of the head element declaration. Try to substitute the head with the first element. Rule out nothing (valid schema) Omit the finalDefault attribute. Rule out #all (valid schema) Set finalDefault attribute to "#all" Rule out restriction (valid schema) Set finalDefault attribute to "restriction" Rule out extension (valid schema) Set finalDefault attribute to "extension" Rule out extension restriction (valid schema) Set finalDefault attribute to "extension restriction" Rule out restriction extension (valid schema) Set finalDefault attribute to "restriction extension" Illegal value is used. (invalid schema) The final attribute is set to illegal value. Rule out "#all #illegalValue" (invalid schema) Try to set final attribute to "#all #illegalValue" Rule out "restriction #illegalValue" (invalid schema) Try to set final attribute to "restriction #illegalValue" Rule out "extension #illegalValue" (invalid schema) Try to set final attribute to "extension #illegalValue" Rule out "extension restriction #illegalValue" (invalid schema) Try to set final attribute to "extension restriction #illegalValue" Rule out "restriction extension #illegalValue" (invalid schema) Try to set final attribute to "restriction extension #illegalValue" Various subsets of values for the final attribute. (valid schema) Various subsets of the final attribute values are used for a number of elemen declarations. Different target namespaces. (valid schema) Define two elements with the same name in two different Namespaces. Make their content types incompatible. Check that validation takes into account the property {target namespace}. Absent values of {target namespace} validate unqualified items. (valid schema) Define unqualified element. The form attribute is set to qualified. The elementFormDefault attribute is omitted. (valid schema) Set the form attribute of the local element declaration to qualified . Omit the elementFormDefault attribute. The form attribute is set to unqualified. The elementFormDefault attribute is omitted. (valid schema) Set the form attribute of the local element declaration to unqualified . Omit the elementFormDefault attribute. Both the form and elementFormDefault attributes are omitted. (valid schema) Omit the form attribute of the local element declaration. Omit the elementFormDefault attribute. The form attribute is set to qualified, the elementFormDefault is set to qualified. (valid schema) Set the form attribute of the local element declaration to qualified . Set the elementFormDefault to qualified . The form attribute is set to unqualified, the elementFormDefault is set to qualified. (valid schema) Set the form attribute of the local element declaration to unqualified . Set the elementFormDefault to qualified . The form attribute is omitted, the elementFormDefault is set to qualified. (valid schema) Omit the form attribute of the local element declaration. Set the elementFormDefault to qualified . The form attribute is set to qualified, the elementFormDefault is set to unqualified. (valid schema) Set the form attribute of the local element declaration to qualified . Set the elementFormDefault to unqualified . The form attribute is set to unqualified, the elementFormDefault is set to unqualified. (valid schema) Set the form attribute of the local element declaration to unqualified . Set the elementFormDefault to unqualified . The form attribute is omitted, the elementFormDefault is set to unqualified. (valid schema) Omit the form attribute of the local element declaration. Set the elementFormDefault to unqualified . Global elements must be qualified. (valid schema) Element information items validated by a top-level declaration must be qualified with the {target namespace} of that declaration. Global elements must be qualified. (valid schema) If {target namespace} is absent , element information items validated by a top-level declaration must be unqualified. The (top-level) element declaration resolved to by the actual value of the ref attribute. (valid schema) Declare one local element that refers to a global one. Check that the element is validated according to the type of the referred element. General check of the {type definition} property. (valid schema) Define an element with a certain type. Ensure the value is validated according to the type. simpleType is used to define {type definition} property. (valid schema) Define an element with a simpleType. Ensure the value is validated according to the type. complexType is used to define {type definition} property. (valid schema) Define an element with a complexType. Ensure the value is validated according to the type. type attribute is used to define {type definition} property. (valid schema) Define an element by means of type attribute. Ensure the value is validated according to the type. type attribute is used to define {type definition} property. (valid schema) Define an element by means of the substitutionGroup attribute. Ensure the value is validated according to the type. default type is used to define {type definition} property. (valid schema) Define an element with the default type. Define another element of type anyType. Ensure the anyType element may substitute for the default type one. The {type definition} property is specified by reference. (valid schema) Declare a global element with a certain type. Declare another element. Specify the type by reference. Ensure the value is validated according to the type. Eelements within group. (valid schema) Eelements within group produce either particles which contain global element declarations (if there's a ref attribute) or local declarations otherwise. Eelements within complexType. (valid schema) Eelements within complexType produce either particles which contain global element declarations (if there's a ref attribute) or local declarations otherwise. Various setting of the {type definition} property. (valid schema) For complete declarations, top-level or local, the type attribute is used when the declaration can use a built-in or pre-declared type definition. Otherwise an anonymous <simpleType> or <complexType> is provided inline complexType and type are mutually exclusive (valid schema) Declare an element using type . Declare another element with a complexType . Ensure the schema is valid complexType and type are mutually exclusive (invalid schema) Declare an element using type . Declare another element with a complexType . Set type attribute of the element. Ensure the schema is invalid. simpleType and type are mutually exclusive (valid schema) Declare an element using type . Declare another element with a simpleType . Ensure the schema is valid simpleType and type are mutually exclusive (invalid schema) Declare an element using type . Declare another element with a simpleType . Set type attribute of the element. Ensure the schema is invalid. a normalized value of the type attribute must be valid (valid schema) Specify a type of an element by means of the type attribute set to a value that is not normalized. local name and namespace name of the xsi:type must resolve to a type definition (valid schema) Use xsi:type attribute set to a value that has both local and namespace names. local type definition is validly derived from complexType (valid schema) If it is a complex type definition, the local type definition must be validly derived from the {type definition} given the union of the {disallowed substitutions} and the {type definition}'s {prohibited substitutions}. In the test the local type definition is validly derived from complexType. local type is 'prohibited' (valid schema) If it is a complex type definition, the local type definition must be validly derived from the {type definition} given the union of the {disallowed substitutions} and the {type definition}'s {prohibited substitutions}. In the test the local type is 'prohibited'. local type is 'dissalowed' (valid schema) If it is a complex type definition, the local type definition must be validly derived from the {type definition} given the union of the {disallowed substitutions} and the {type definition}'s {prohibited substitutions}. In the test the local type is 'dissalowed'. local type definition is validly derived from simpleType (valid schema) If it is a simple type definition, the local type definition must be validly derived from the {type definition} given the {disallowed substitutions}. In the test the local type definition is validly derived from simpleType. local type is 'dissalowed' (valid schema) If it is a simple type definition, the local type definition must be validly derived from the {type definition} given the {disallowed substitutions}. In the test the local type is 'dissalowed'. the element information item must be valid with respect to the actual type definition (valid schema) The element information item must be valid with respect to the actual type definition. In the test the actual type definition is a local type definition. actual type must not be abstract (valid schema) For an element to be locally valid its type must not be abstract . Negative case uses local type definition with a type that is abstract . element of a simple type has schemaLocation, type and nil attributes (valid schema) If the type definition is a simple type definition, then the element information item's attributes must be empty, excepting those whose namespace name is identical to http://www.w3.org/2001/XMLSchema-instance and whose local name is one of type , nil , schemaLocation or noNamespaceSchemaLocation . The negative case uses an element with an extra attribute. element of a simple type has noNamespaceSchemaLocation, type and nil attributes (valid schema) If the type definition is a simple type definition, then the element information item's attributes must be empty, excepting those whose namespace name is identical to http://www.w3.org/2001/XMLSchema-instance and whose local name is one of type , nil , schemaLocation or noNamespaceSchemaLocation . The negative case uses an element with an extra attribute. trying to use element children in the element of a simple type (valid schema) The element information item must have no element information item children if it has a simple type. Negative case uses an element of type xsd:anySimpleType with children elements. normalized value must be valid with respect to the type definition (valid schema) If the element information item of a simple type is not nil, then its normalized value must be valid with respect to the type definition. Negative case uses invalid value. value must be valid with respect to the type definition (valid schema) If the type definition is a complex type definition, then the element information item must be valid with respect to the type definition. Negative case uses invalid value. Validation of the default value attribute (positive case). (valid schema) Define an elements with default value defined. Ensure that the value is validated. Validation of the default value attribute (negative case). (invalid schema) Define an elements with default value defined. Ensure that the value is validated. Validation of the fixed value attribute. (valid schema) Define an elements with fixed value defined. Ensure that the value may be empty or, otherwise, must be equal to that defined. only default is present (valid schema) Define an element. Set default="0". Check that the schema is valid. only fixed is present (valid schema) Define an element. Set fixed="0". Check that the schema is valid. both default and fixed have identical values (invalid schema) Define an element. Set default="0" fixed="0". Check that the schema is invalid. default and fixed have different values 0 and 1 respectively (invalid schema) Define an element. Set default="0" fixed="1". Check that the schema is invalid. default and fixed have different values 1 and 0 respectively (invalid schema) Define an element. Set default="1" fixed="0". Check that the schema is invalid. default value is set for type boolean (valid schema) Declare an element. Set type="xsd:boolean" default="true". Check that the schema is valid. invalid default value is set for type boolean (invalid schema) Declare an element. Set type="xsd:boolean" default="Yes". Check that the schema is invalid. default value is set for ur-type (valid schema) Declare an element. Set default="alpha". Check that the schema is valid. default value is set for anyType (valid schema) Declare an element. Set type="xsd:anyType" default="alpha". Check that the schema is valid. default value is set for a complex type with a simple content (valid schema) Declare an element. Set type="answer" default="true". The content type of type answer is boolean . Check that the schema is valid. invalid default value is set for a complex type with a simple content (invalid schema) Declare an element. Set type="answer" default="Yes". The content type of type answer is boolean . Check that the schema is invalid. default value is set for a simple type (valid schema) Declare an element. Set type="answer" default="true". The content type of type answer allows only "true". Check that the schema is valid. invalid default value is set for a simple type (invalid schema) Declare an element. Set type="answer" default="false". The content type of type answer allows only "true". Check that the schema is invalid. default value is set for anySimpleType (valid schema) Declare an element. Set type="xsd:anySimpleType" default="alpha". Check that the schema is valid. fixed value is set for type boolean (valid schema) Declare an element. Set type="xsd:boolean" fixed="true". Check that the schema is valid. invalid fixed value is set for type boolean (invalid schema) Declare an element. Set type="xsd:boolean" fixed="Yes". Check that the schema is invalid. fixed value is set for ur-type (valid schema) Declare an element. Set fixed="alpha". Check that the schema is valid. fixed value is set for anyType (valid schema) Declare an element. Set type="xsd:anyType" fixed="alpha". Check that the schema is valid. fixed value is set for a complex type with a simple content (valid schema) Declare an element. Set type="answer" fixed="true". The content type of type answer is boolean . Check that the schema is valid. invalid fixed value is set for a complex type with a simple content (invalid schema) Declare an element. Set type="answer" fixed="Yes". The content type of type answer is boolean . Check that the schema is invalid. fixed value is set for a simple type (valid schema) Declare an element. Set type="answer" fixed="true". The content type of type answer allows only "true". Check that the schema is valid. invalid fixed value is set for a simple type (invalid schema) Declare an element. Set type="answer" fixed="false". The content type of type answer allows only "true". Check that the schema is invalid. fixed value is set for anySimpleType (valid schema) Declare an element. Set type="xsd:anySimpleType" fixed="alpha". Check that the schema is valid. fixed value is valid (valid schema) If the declaration has a {value constraint}, the item has neither element nor character [children] and xsi:nil is not specified, the actual type definition is a local type definition then the lexical representation of the {value constraint} value must be a valid default for the actual type definition . In the test the fixed value is valid. fixed value is valid (valid schema) If the declaration has a {value constraint}, the item has neither element nor character [children] and xsi:nil is not specified, the actual type definition is a local type definition then the lexical representation of the {value constraint} value must be a valid default for the actual type definition . In the test the fixed value is valid. fixed value is invalid for the local type definition (valid schema) If the declaration has a {value constraint}, the item has neither element nor character [children] and xsi:nil is not specified, the actual type definition is a local type definition then the lexical representation of the {value constraint} value must be a valid default for the actual type definition . In the test the fixed value is invalid for the local type definition. default value is valid (valid schema) If the declaration has a {value constraint}, the item has neither element nor character [children] and xsi:nil is not specified, the actual type definition is a local type definition then the lexical representation of the {value constraint} value must be a valid default for the actual type definition . In the test the default value is valid. default value is valid (valid schema) If the declaration has a {value constraint}, the item has neither element nor character [children] and xsi:nil is not specified, the actual type definition is a local type definition then the lexical representation of the {value constraint} value must be a valid default for the actual type definition . In the test the default value is valid. default value is invalid for the local type definition (valid schema) If the declaration has a {value constraint}, the item has neither element nor character [children] and xsi:nil is not specified, the actual type definition is a local type definition then the lexical representation of the {value constraint} value must be a valid default for the actual type definition . In the test the default value is invalid for the local type definition. fixed value of built-in type is valid (valid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the fixed value of built-in type is valid. fixed value of built-in type is invalid (invalid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the fixed value of built-in type is invalid. default value of built-in type is valid (valid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the default value of built-in type is valid. default value of built-in type is invalid (invalid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the default value of built-in type is invalid. fixed value of a derived type is valid (valid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the fixed value of a derived type is valid. fixed value of a derived type is invalid (invalid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the fixed value of a derived type is invalid. default value a derived type is valid (valid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the default value a derived type is valid. default value a derived type is invalid (invalid schema) The element information item with the lexical representation of the {value constraint} value used as its normalized value must be valid with respect to the actual type definition . In the test the default value a derived type is invalid. fixed value constraint forbids element children (valid schema) If there is a fixed {value constraint} the element information item must have no element information item children. value of mixed content type must match the fixed value (valid schema) If the {content type} of the actual type definition is mixed, then the initial value of the item must match the canonical lexical representation of the {value constraint} value. In the test, the value of the item does not match the specified fixed value. value of simple content type must match the fixed value (valid schema) If the {content type} of the actual type definition is a simple type definition, then the actual value of the item must match the canonical lexical representation of the {value constraint} value In the test, the value of the item does not match the specified fixed value. no value constraint with ID type (valid schema) Declare an element. Specify the following: type="xsd:ID". Check that the declaration is valid. fixed value constraint with ID type (invalid schema) Declare an element. Specify the following: type="xsd:ID" fixed="alpha". Check that the declaration is invalid. default value constraint with ID type (invalid schema) Declare an element. Specify the following: type="xsd:ID" default="alpha". Check that the declaration is invalid. no value constraint with a type derived from ID (valid schema) Declare an element. Specify the following: type="derivedFromID". Check that the declaration is valid. fixed value constraint with a type derived from ID (invalid schema) Declare an element. Specify the following: type="derivedFromID" fixed="alpha". Check that the declaration is invalid. default value constraint with a type derived from ID (invalid schema) Declare an element. Specify the following: type="derivedFromID" default="alpha". Check that the declaration is invalid. fixed value constraint with string type (valid schema) Declare an element. Specify the following: type="xsd:string" fixed="alpha". Check that the declaration is valid. default value constraint with string type (valid schema) Declare an element. Specify the following: type="xsd:string" default="alpha". Check that the declaration is valid. fixed value is valid (valid schema) For a string to be a valid default with respect to a type definition, if the type definition is a simple type definition, then the string must be valid with respect to that definition. In the test the fixed value is valid. fixed value is invalid for the local type definition (valid schema) For a string to be a valid default with respect to a type definition, if the type definition is a simple type definition, then the string must be valid with respect to that definition. In the test the fixed value is invalid for the local type definition. default value is valid (valid schema) For a string to be a valid default with respect to a type definition, if the type definition is a simple type definition, then the string must be valid with respect to that definition. In the test the default value is valid. default value is invalid for the local type definition (valid schema) For a string to be a valid default with respect to a type definition, if the type definition is a simple type definition, then the string must be valid with respect to that definition. In the test the default value is invalid for the local type definition.