F Implementation-Defined and Implementation-Dependent Items (Non-Normative)

F.1 Implementation-Defined Items

The following items are implementation-defined.

  1. Support for additional user-defined or implementation-defined types is implementation-defined. (See 2.8.1 Representation of Types)
  2. When converting from an xs:string to an xs:float or xs:double, it is implementation-defined whether the lexical value “-0” (and similar forms such as “-0.0”) convert to negative zero or to positive zero in the value space. (See 2.8.7 Negative Zero)
  3. Data model construction from sources other than an Infoset or PSVI is implementation-defined. (See 3 Data Model Construction)
  4. Some typed values in the data model are absent. Attempting to access an absent typed value is an error. Behavior in these cases is implementation-defined and the host language is responsible for determining the result. (See 5 Accessors)

F.2 Implementation-Dependent Items

The following items are implementation-dependent.

  1. The relative order of Namespace Nodes nodes is stable but implementation-dependent. (See 2.5 Document Order)
  2. The relative order of Attribute Nodes nodes is stable but implementation-dependent. (See 2.5 Document Order)
  3. The relative order of distinct trees is stable but implementation-dependent. (See 2.5 Document Order)
  4. The names of anonymous types are implementation-dependent. (See 2.8.1 Representation of Types)
  5. The prefix associated with type names is implementation-dependent. (See 3.3.1.1 Element and Attribute Node Types)