Simple assertion on an attribute value Simple assertion on an attribute value Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Cross validation between two attributes Cross validation between two attributes Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Cross validation between elements and attributes Asserts that existence of an attribute and a descendant element are mutually exclusive Valid, only the attribute exists. Valid, only the element exists. Invalid, both nodes exist. Invalid, neither node exists. Constraints at more than one level Imposes constraints at two levels of the same tree; also tests that constraints at the inner level are rooted at the node being validated. Valid, both constraints satisfied. Valid, both constraints satisfied. Invalid, outer constraint not satisfied. Invalid, inner constraint not satisfied on second inner element. Multiple constraints on an inner level, no constraint at outer level Tests the ability to construct multiple subtrees for validation, including use of preceding axis designed to stress the Saxon implementation. Valid, both constraints satisfied. Valid, both constraints satisfied. Invalid, first constraint not satisfied. Invalid, second constraint not satisfied. Inheritance of constraints in a type derived by restriction Tests inheritance of constraints; also imposes a constraint on a text node in a type with simple content. Valid, both constraints satisfied. Invalid, base constraint not satisfied. Invalid, derived constraint not satisfied. Inheritance of constraints in a type derived by extension Tests inheritance of constraints; also imposes a constraint on a text node in a type with complex content; also uses namespaces Valid, both constraints satisfied. Invalid, two moves by same player in succession. Invalid, white castles twice. Invalid, unrecognized result. Use xpathDefaultNamespace on xs:assert Variant of assert007 written with xpathDefaultNamespace. Same instance documents. Valid, both constraints satisfied. Invalid, two moves by same player in succession. Invalid, white castles twice. Invalid, unrecognized result. Use xpathDefaultNamespace on xs:schema element Variant of assert007 written with xpathDefaultNamespace. Same instance documents. Valid, both constraints satisfied. Invalid, two moves by same player in succession. Invalid, white castles twice. Invalid, unrecognized result. Assert that a node-set is empty - error diagnostics handled specially by Saxon Simple assertion on an attribute value Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion on a complex type with simple content Co-occurrence constraint between the text content and an attribute. Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion involving a call to the doc() function Uses an external document as a lookup table. Had this working at one stage. But the current state of play (Saxon 9.2) is that doc() in an assertion is disallowed both in the spec and in Saxon Invalid, satisfies the assertion. (calls to doc() don't work) Invalid, does not satisfy the assertion. Assertion involving dynamic error in XPath expression Divide by zero in assertion, same as returning false Invalid, does not satisfy the assertion, because the assertion throws an error Assertion testing type of data Attribute within subtree is typed Valid, the attribute has the required type Assertion testing type of data Element root of subtree is anyType Valid, the element is anyType so atomizing it does not produce a date Assertion testing type of data $value is typed (complex type with simple content) Valid, $value is a date Assertion testing type of data Atomizing the element succeeds (it has type xs:anyType, not a type with element-only content) Valid, atomization succeeds Assertion testing type of data Atomizing the element succeeds, and the result is untypedAtomic Valid, atomization succeeds Assertion testing type of data Elements below the assertion root are properly typed Valid, atomization succeeds Assertion testing type of data Elements below the assertion root are properly typed Valid, with a complex type, $value is the empty sequence Assertion combined with chameleon include Effect of xpathDefaultNamespace="##targetNamespace" Valid, satisfies the assertion Invalid, unsatisfies the assertion, nested too deep Assertion combined with chameleon include Effect of xpathDefaultNamespace="##targetNamespace" Valid, satisfies the assertion Invalid, unsatisfies the assertion, nested too deep Assertion testing type of data Elements below the assertion root are properly typed Valid, with a complex type, $value is the empty sequence Check that comments are by default not visible in assertions Schema asserts that comments are not allowed. Result depends on configuration setting (see resolution of spec bug 13935 Valid, satisfies the assertion. Result depends on processor settings. By default it is valid, that is it satisfies the assertion, because although there is a comment present, it is not visible to the assertion in the absence of a user option to make it so. If a processor option is set to make comments and processing instructions visible, then the instance becomes invalid. Assertion on a simple type Assertion on a simple type: date must be in the past Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion on a simple type using xpathDefaultNamespace Assertion on a simple type: value must be castable to xs:double Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion on a simple type using xpathDefaultNamespace on xs:schema element Assertion on a simple type: value must be castable to xs:double Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion on a simple type with variety list Assertion on a simple type: $value contains the typed value Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion on a simple type with variety union Assertion on a simple type: $value contains the typed value Valid, satisfies the assertion. Invalid, does not satisfy the assertion. Assertion on a simple type fails with dynamic XPath error Assertion tries to construct a date from a string that isn't a lexical date Invalid, does not satisfy the assertion, dynamic error is treated as false. Assertion on a simple type fails with dynamic XPath error Assertion references context item which is undefined Invalid, does not satisfy the assertion, dynamic error is treated as false. Assertion on a simple type fails with dynamic XPath error Assertion references context position which is undefined Invalid, does not satisfy the assertion, dynamic error is treated as false. Assertion on a simple type fails with dynamic XPath error Assertion references context size which is undefined Invalid, does not satisfy the assertion, dynamic error is treated as false.