E Checklist of Implementation-Defined and Implementation-Dependent Features (Non-Normative)

This appendix provides a summary of Serialization features whose effect is explicitly implementation-defined or implementation-dependent.

E.1 Checklist of Implementation-Defined Features

The following list describes Serialization features whose effect is explicitly implementation-defined. The conformance rules (see 12 Conformance) require vendors to provide documentation that explains how these choices have been exercised.

  1. For any implementation-defined output method, it is implementation-defined whether sequence normalization process takes place. (See 2 Sequence Normalization)
  2. If the namespace URI is non-null for the method serialization parameter, then the parameter specifies an implementation-defined output method. (See 3 Serialization Parameters)
  3. The effect of additional serialization parameters on the output of the serializer, where the name of such a parameter MUST be namespace-qualified, is implementation-defined or implementation-dependent. The extent of this effect on the output MUST NOT override the provisions of this specification. (See 3 Serialization Parameters)
  4. Implementation-defined schema components MAY be included in the set of schema components that are used in evaluating an XQuery expression or XSLT instruction in the process of using an XDM instance to determine the serialization parameters. (See 3.1 Setting Serialization Parameters by Means of a Data Model Instance)
  5. If an instance of the data model used to determine the settings of serialization parameters contains elements or attributes that are in a namespace other than http://www.w3.org/2010/xslt-xquery-serialization, the implementation MAY interpret them to specify the values of implementation-defined serialization parameters in an implementation-defined manner. (See 3.1 Setting Serialization Parameters by Means of a Data Model Instance)
  6. The effect of providing an option that allows the encoding phase to be skipped, so that the result of serialization is a stream of Unicode characters, is implementation-defined. The serializer is not required to support such an option. (See 4 Phases of Serialization)
  7. If an implementation supports a value of the version parameter for the XML or XHTML output method for which this document does not provide a normative definition, the behavior is implementation-defined. (See 5.1.1 XML Output Method: the version Parameter)
  8. A serializer MAY provide an implementation-defined mechanism to place CDATA sections in the result tree. (See 5.1.5 XML Output Method: the cdata-section-elements Parameter)
  9. If the value of the normalization-form form parameter is not NFC, NFD, NFKC, NFKD, fully-normalized, or none then the meaning of the value and its effect is implementation-defined. (See 5.1.9 XML Output Method: the normalization-form Parameter)
  10. For the HTML output method, it is implementation-defined whether the basefont, frame and isindex elements, which are not part of HTML5 are considered to be void elements when the requested HTML version has the value 5.0. (See 7.1 Markup for Elements)
  11. If an implementation supports a value of the version parameter for the HTML output method for which this document does not provide a normative definition, the behavior is implementation-defined. (See 7.4.1 HTML Output Method: the version and html-version Parameters)
  12. It is implementation-defined whether the serialization process recovers from serialization errors when the Adaptive output method is used. If it does, it is implementation-defined what error indicator is used. (See 10 Adaptive Output Method)
  13. It is implementation-defined whether, when the Adaptive output method is used, a serializer includes hyperlinks in its output to record the types of atomic values, the bindings of namespace prefixes, the causes of error indicators, and other information. (See 10 Adaptive Output Method)

E.2 Checklist of Implementation-Dependent Features

The following list describes Serialization features whose effect is explicitly implementation-dependent. The conformance rules (see 12 Conformance) do not require vendors or specifications which define conformance criteria for serialization to provide documentation that explains how these choices have been exercised.

  1. The octet order of the serialized result sequence of octets is implementation-dependent. (See 3 Serialization Parameters)
  2. In those cases where they have no important effect on the content of the serialized result, details of the output methods defined by this specification are left unspecified and are regarded as implementation-dependent. (See 3 Serialization Parameters)
  3. When map items are serialized using the JSON output method, the order in which key/value pairs appear in the serialized output is implementation-dependent. (See 9 JSON Output Method)
  4. If, when the Adaptive output method is used, a serializer includes hyperlinks in its output to record the types of atomic values, the bindings of namespace prefixes, the causes of error indicators, and other information, then it is implementation-dependent what hyperlinks are used and how they convey the information. (See 10 Adaptive Output Method)