This section defines the conformance criteria for an XPath 4.0 processor. In this section, the following terms are used to indicate the requirement levels defined in [RFC2119]. [Definition: MUST means that the item is an absolute requirement of the specification.] [Definition: MUST NOT means that the item is an absolute prohibition of the specification.] [Definition: MAY means that an item is truly optional.]
XPath is intended primarily as a component that can be used by other specifications. Therefore, XPath relies on specifications that use it (such as [XPointer] and [XSL Transformations (XSLT) Version 3.0]) to specify conformance criteria for XPath in their respective environments. Specifications that set conformance criteria for their use of XPath MUST NOT change the syntactic or semantic definitions of XPath as given in this specification, except by subsetting and/or compatible extensions.
If a language is described as an extension of XPath, then every expression that conforms to the XPath grammar MUST behave as described in this specification.
[Definition: The Static Typing Feature is an optional feature of XPath that provides support for static semantics, and requires implementations to detect and report type errors during the static analysis phase.] Specifications that use XPath MAY specify conformance criteria for use of the Static Typing Feature.
If an implementation does not support the Static Typing Feature, but can nevertheless determine during the static analysis phase that an XPath expression, if evaluated, would necessarily raise a dynamic error or that an expression, if evaluated, would necessarily raise a type error, the implementation MAY raise that error during the static analysis phase. The choice of whether to raise such an error at analysis time is implementation dependent.