W3C

XML Inclusions (XInclude) Version 1.0 Errata

This document:
http://www.w3.org/2004/12/xinclude-errata.html
Last revised:
$Date: 2006/04/23 16:05:52 $
This document records known errors in the XInclude 1.0 Recommendation 20 December 2004 document:
http://www.w3.org/TR/2004/REC-xinclude-20041220/

About this document

This document lists known errata to the Recommendation. Each entry has the following information:

  1. A unique identifier
  2. The date it was added to the errata page
  3. A classification of the error (e.g., editorial, clarification, bug, known problem with the document itself)
  4. A short description of the problem and what part of the Recommendation is affected.
  5. Any proposed corrections and whether those corrections would affect conformance of documents or software
  6. Any normative corrections; see the section on Errata Management in the W3C Process Document ([PROCESS] section 7.6.1) for more information about normative corrections

Changes to the text of the spec are indicated thus: deleted text, new text, modified text.

Errata as of Sep 28 2005

PEX1

Section 3.2 xi:fallback Element

Add a new paragraph between paragraph 3 and 4 of section 3.2:

The content of xi:fallback elements are ignored unless a resource error occurs while processing the surrounding xi:include element. In particular, apparent fatal errors caused by the presence, absence, or content of elements and attributes inside the xi:fallback element must not be reported in xi:fallback elements that are ignored.

Rationale
The behaviour in case of errors in unactivated fallbacks was not defined
Conformance
This clarification may affect conformance of XInclude processors.

PEX6

Section 4.3 Included Items when parse="text"

Add a new paragraph between paragraph 5 and 6 of section 4.3:

When the first character is interpreted as a Byte-Order Mark, it should be discarded. It is interpreted as a BOM in UTF-8, UTF-16, and UTF-32 encodings; it is not interpreted as a BOM in the UTF-16LE, UTF-16BE, UTF-32LE, and UTF-32BE encodings.

Rationale
The processing of a leading Byte-Order Mark character U+FEFF wasn't specified. The new paragraph explains when this character should be added to the resulting Infoset or discarded.
Conformance
This clarification may affect conformance of XInclude processors.

PEX7

Section 3.1 xi:include Element

Change the paragraph describing the encoding attribute:

When parse="text", it is sometimes impossible to correctly detect the encoding of the text resource. The encoding attribute specifies how the resource is to be translated. The value of this attribute should be a valid encoding name. The encoding attribute has no effect when parse="xml".

Rationale
The processing of an encoding attribute with an illegal value was unclear. The new text makes explicit it is not a fatal xinclude error, though it might cause a resource error at some point.
Conformance
This clarification may affect conformance of XInclude processors.

PEX10

Section 3.1 xi:include Element

Change the paragraph describing the accept attribute:

The value of the accept attribute may be used by the XInclude processor to aid in content negotiation. When the XInclude processor fetches a resource via HTTP, it should place the value of the accept attribute, if one exists, in the HTTP request as an Accept header as described in section 14.1 of [IETF RFC 2616]. Values containing characters outside the range #x20 through #x7E are disallowed in HTTP headers, and must be flagged as fatal errors.

Rationale
We don't want to allow linefeeds for security reasons, and RFC 2616 also adds some restrictions on the set of characters allowed.
Conformance
This clarification may affect conformance of XInclude processors.

PEX11

Appendix A References

Update the reference to IETF RFC 2279 with its update RFC 3629

IETF RFC 3629
UTF-8, a transformation format of ISO 10646. Internet Engineering Task Force, 2003. (See http://www.ietf.org/rfc/rfc3629.txt.)
Rationale
The IETF RFC 2279 defining UTF-8, a transformation format of ISO 10646 has been superceded by IETF RFC 3629.
Conformance
This update should not affect conformance of XInclude processors.

PEX15

Section 3.1 xi:include Element

Change the Note about %-escaping in the xpointer attribute description.

Note:

Since the xpointer attribute is not a URI reference, and %-escaping is not done in XPointers, '%' is an ordinary character in the value of the xpointer attribute.

Rationale
An error in the XPointer is a resource error, but the initial Note would lead to a fatal error while there was no good reason for it.
Conformance
This update may affect conformance of XInclude processors.

PEX16

Section 4.5 Creating the Result Infoset

Add a paragraph stating that xml:lang and xml:base fixups may be suppressed at user option. The Paragraph is added just before section 4.5.1 Unparsed Entities, after the example.

An XInclude processor may, at user option, suppress xml:base and/or xml:lang fixup.

Rationale
The attributes added may break validation of the resulting output Infoset. This is "at user option" with the same meaning as in the XML specification. All XInclude processors MUST support xml:base and xml:lang fixup, but they MAY provide a user-specifiable option to suppress such fixup.
Conformance
This update should not affect conformance of XInclude processors.

PEX17

Section 4.1.1 Escaping of href attribute values

Replace this section with the new wording referencing the associated description in the new editions of XML

The value of this attribute is an XML resource identifer as defined in [XML 1.1], which is interpreted as an IRI Reference as defined in RFC 3987 [IETF RFC 3987], after the escaping procedure described in [XML 1.1] is applied. If necessary for the implementation, the value may be further converted to a URI reference as described in [XML 1.1].

Rationale
When the first edition of the XInclude REC was published, the IRI RFC was still a draft and as a result the processing needed to handle IRI references was copied directly into the XInclude spec. Now that IRI are being references in the XML main spec point to that section instead of keeping a separate copy in the XInclude spec, this is refactoring.
Conformance
This update should not affect conformance of XInclude processors.