W3C

XML 1.0 Third Edition Specification Errata

Abstract

This document records all known errors in the Third Edition of the Extensible Markup Language (XML) 1.0 Specification ; for updates see the latest version.

The errata are numbered, classified as Substantive or Editorial, and listed in reverse chronological order of their date of publication in each category. Changes to the text of the spec are indicated thus: deleted text, new text, modified text . Substantive corrections are proposed by the XML Core Working Group, which has consensus that they are appropriate; they are not to be considered normative until approved by a Call for Review of Proposed Corrections or a Call for Review of an Edited Recommendation.

Please email error reports to xml-editor@w3.org.

Substantive errata

Errata as of 2006-08-09

E14

Section 4.2.2 External Entities

Change the second sentence of paragraph following the "Notation Declared" validity contraint as follows:

It is meant to be converted to a URI reference (as defined in , updated by [IETF RFC 2732]), as part of the process of dereferencing it to obtain input for the XML processor to construct the entity's replacement text.

Change the first sentence of the immediately following paragraph as follows:

System identifiers (and other XML strings meant to be used as URI references) may contain characters that, according to and [IETF RFC 2732], must be escaped before a URI can be used to retrieve the referenced resource
Section A.1 Normative References

Remove the entries for IETF RFC 2396 and IETF RFC 2732, and add an entry for IETF RFC 3986:

IETF RFC 2396
IETF (Internet Engineering Task Force). RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee, R. Fielding, L. Masinter. 1998. (See http://www.ietf.org/rfc/rfc2396.txt.)
IETF RFC 2732
IETF (Internet Engineering Task Force). RFC 2732: Format for Literal IPv6 Addresses in URL's. R. Hinden, B. Carpenter, L. Masinter. 1999. (See http://www.ietf.org/rfc/rfc2732.txt.)
IETF RFC 3986
IETF (Internet Engineering Task Force). RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. T. Berners-Lee, R. Fielding, L. Masinter. 2005. (See http://www.ietf.org/rfc/rfc3986.txt.)
Rationale
RFC 2396 and RFC 2732 are now obsolete, replaced by RFC 3986.

Errata as of 2006-04-25

E13

Section 4.1 Character and Entity References

Change the first sentence of the description of the Entity Declared Validity Constraint, so that it begins:

In a document with an external subset or external parameter entity references with "standalone='no'",...
Rationale
It makes no difference whether the parameter entity is external or internal: minimal processors don't have to process it.

E12

Section 3.3.2 Attribute Defaults

To the list of constraints of production [60] "DefaultDecl", add a reference to the "No External Entity References" WFC.

Rationale
This was an oversight, it is just as important not to have references to external entities in attribute value defaults as in attribute values (production [41]).

Errata as of 2004-11-20

E06

Section 3.3.2 Attribute Defaults

Amend the "Attribute Default Value Syntactically Correct" validity constraint so that it reads:

Validity constraint: Attribute Default Value Syntactically Correct

The declared default value MUST meet the syntactic constraints of the declared attribute type. That is, the default value of an attribute:

Note that only the syntactic constraints of the type are required here; other constraints (e.g. that the value be the name of a declared unparsed entity, for an attribute of type ENTITY) may come into play if the declared default value is actually used (an element without a specification for this attribute occurs) will be reported by a validating parser only if an element without a specification for this attribute actually occurs.

Rationale
It was not clear what "meet the syntactic constraints" meant.

Errata as of 2004-11-08

E05

Section 3 Logical Structures

Amend list item 3 of the "Element Valid" validity contraint so that it reads:

The declaration matches Mixed , and the content (after replacing any entity references with their replacement text) consists of character data (including CDATA sections), comments, PIs and child elements whose types match names in the content model.

Amend list item 4 of the "Element Valid" validity contraint so that it reads:

The declaration matches ANY, and the content (after replacing any entity references with their replacement text) consists of character data, CDATA sections, comments, PIs and child elements whose types have been declared.
Rationale
The spec was not clear that CDATA sections, comments and PIs may occur in elements with content models Mixed and ANY. Section 2.5 says that "Comments MAY appear anywhere in a document outside other markup". Section 2.7 says that "CDATA sections MAY occur anywhere character data may occur". The case for PIs is a little bit less clear, but is supported by the wording for Mixed in this VC, by the equal treatment of PIs and Comments in productions [27] Misc and [29] markupdecl, as well as by widespread practice.

Errata as of 2004-06-23

E01

Section 2.12 Language Identification

Amend the first paragraph after the example to read:

The language specified by xml:lang is considered to applies to all attributes and content of the element where it is specified (including the values of its attributes), and to all elements in its content unless overridden with another instance of xml:lang on another element within that content. In particular, the empty value of xml:lang is used on an element B to override a specification of xml:lang on an enclosing element A, without specifying another language. Within B, it is considered that there is no language information available, just as if xml:lang had not been specified on B or any of its ancestors. Applications determine which of an element's attribute values and which parts of its character content, if any, are treated as language-dependent values described by xml:lang.

Rationale

The original text confusingly used the word "intent" and the phrase "is considered to". The new text clarifies that xml:lang specifies a language, but also makes it clear that applications may ignore the specification when not relevant.

The same correction was published for the XML 1.1 specification as E03.


Editorial errata

Errata as of 2005-12-07

E11

Section 3 Logical Structures

Amend the first sentence after production [39], so that it begins:

This specification does not constrain the application semantics, use, or (beyond syntax) names of the element types and attributes,...
Section 3.3.1 Attribute Types

Amend the second sentence of the first paragraph, so that it reads:

The string type may take any literal string as a value; the tokenized types have varying lexical and semantic constraintsare more constrained.
Rationale
The two uses of "semantic(s)" were somewhat conflicting.

Errata as of 2005-11-02

E10

Section 4.1 Character and Entity References

Change the first sentence of the description of the Entity Declared Validity Constraint, so that it begins:

In a document with an external subset or external parameter entitiesentity references with "standalone='no'",...
Rationale
It wasn't clear that "external parameter entities" meant references, as opposed to declarations of same.

Errata as of 2005-01-09

E09

Section 2 Documents

Amend the first paragraph to read:

[Definition: A data object is an XML document if it is well-formed, as defined in this specification. In addition, the XML document is valid if it meets certain further constraints.]
Rationale
The second sentence was cast as normative but is in fact merely descriptive.

E08

Section 4.3.2 Well-Formed Parsed Entities

Add a note after the first paragraph, reading:

Note:

Only parsed entities that are referenced directly or indirectly within the document are required to be well-formed.

Rationale
This is a clarification, a reminder of the definition of well-formed documents in section 2.1 Well-Formed XML Documents (third item of the numbered list).

Errata as of 2004-12-15

E07

Section 4.7 Notation Declarations

In the first paragraph, change the title attribute of the link corresponding to the text "unparsed entities" from "External Entity" to "Unparsed Entity".

Errata as of 2004-07-15

E04

Section 3.3.2 Attribute Defaults

In production [60], mark up non-terminal S properly so that it links to the defining production ([3]).

Section 3.4 Conditional Sections

In productions [62] and [63], mark up all instances of the non-terminal S properly so that they link to the defining production ([3]).


E03

Section 4.7 Notation Declarations

In the first paragraph, change the target location of the link corresponding to the text "unparsed entities" from "#dt-extent" to "#dt-unparsed".


E02

Section 2.2 Characters

Amend the list of code points in the note following production [2] so that it reads:

[#x7F-#x84], [#x86-#x9F], [#xFDD0-#xFDDF],
[#x1FFFE-#x1FFFF], [#x2FFFE-#x2FFFF], [#x3FFFE-#x3FFFF],
[#x4FFFE-#x4FFFF], [#x5FFFE-#x5FFFF], [#x6FFFE-#x6FFFF],
[#x7FFFE-#x7FFFF], [#x8FFFE-#x8FFFF], [#x9FFFE-#x9FFFF],
[#xAFFFE-#xAFFFF], [#xBFFFE-#xBFFFF], [#xCFFFE-#xCFFFF],
[#xDFFFE-#xDFFFF], [#xEFFFE-#xEFFFF], [#xFFFFE-#xFFFFF],
[#x10FFFE-#x10FFFF].

Last updated $Date: 2006/08/09 15:48:41 $ by $Author: fyergeau $

xml-editor