Definitive XML Schema
Priscilla Walmsley (pwalmsley@datypic.com)
ISBN: 0132886723
2nd edition, , Prentice Hall PTR.
Errata
Please report any errors or comments to the author. All feedback is welcome.
Strikethrough indicates deleted text and underline indicates inserted text.
Chapter 2
- Table 2-2, page 23, lists 47 built-in types, but two paragraphs earlier it says there are 49 built-in simple types. This is because, for simplicity, the table leaves out the special types
xs:anySimpleTypeandxs:anyAtomicType. The special types are described in Section 11.1.1.
Chapter 6
- Section 6.5, page 106, second bullet point was confusing in that it implied that "Mr." was the default value in the schema. Instead, it was intended to mean that the element could be missing from the instance because the application should consider it the default.
"It is the default, so it is not specified: The customer's title should default to "Mr.""It is considered the default, so it is not specified: The processing application should assume that the customer's title is "Mr." if it is not present.
Chapter 8
- Section 8.3, page 135, second paragraph says "Every new simple type restricts the value space of its base type in some way." However, this is not true if the new simple type is a list or union type. You could also have a new atomic simple type that has the same value space as the base type, if it does not use any facets.
- Section 8.3.4.1, page 141, first paragraph says ""Keep in mind that any types that may be derived from your type must be more restrictive.". However, it is possible for the new type to be equally restrictive if no facets are specified.
- Section 8.4.2, page 143, second paragraph. "Either
ofor both of these facets may be applied."
Chapter 9
- Section 9.2.2, page 165, refers to the wildcard (period) as a character when it would be more correct to refer to it as a metacharacter.
Chapter 11
- Table 11-14, Safari Books Online only, the table is visually truncated. The half-visible line in the final column of the final row reads "value is 0)".
- Section 11.4.1, page 221: "The lexical representation of
dateisYYYY-MM-DDwhere YYYY represents the year,..." - Table 11-21, electronic versions only, the subheading for "Invalid Values" is missing. It should appear before example
99, as that and the subsequent examples are invalid values. - Table 11-36, electronic versions only, the subheading for "Invalid Values" is missing. It should appear before example
contains a space, as that and the subsequent example are invalid values. - Section 11.6.4, page 251, "Version 1.1 expands the definition of anyURI to include
IRfIsIRIs".
Chapter 12
- Table 12-6, page 277, says that
maxOccurson anallelement can be 0 or 1. Conversely, the prose right after the table states thatmaxOccursmust be 1. Both of these should say that in version 1.0,maxOccurson anallelement must be 1. In version 1.1, it can be 0 or 1.
Chapter 13
- At the top of page 313, it says "When extending a mixed content type, you must also specify the mixed attribute for the derived type." This is only true if the derived type is non-empty. If the derived type does not have any content model specified (i.e. it is empty or specifies only attributes), the derived type will inherit the "mixed" quality from its base type automatically in that case.
- Table 13-7, page 318, unnecessarily lists
patterntwice under the content model. - Example 13-35, page 340, shows the
numberelement in the base type as having typexs:integer, but in the restriction it has typexs:string. This is not a correct restriction; the type in the restriction should be the same as, or a derivation of, the type in the base type. The intent was for it to bexs:integerin both places.
Chapter 14
- Section 14.1.1.3, page 359, says "The fields are matched in the same order, and they must have related types." To clarify, "related types" means that the types must either be the same type or one must be derived from the other.
Chapter 15
- Section 15.3.2.4, page 398, "However, it is possible for a complex type definition to reference two or more
attribute groups, each of which may contain
san attribute wildcard."
Chapter 17
- Section 17.6, page 432, "It is not valid in XPath 2.0 to compare an integer to a string, at least not
withwithout converting one value to the other's type."
Chapter 19
- Section 19.8, electronic versions only, "elementspecific" should be hyphenated.
Downloadable examples
- Some of the book examples downloadable from this Web site were accidentally truncated, although they appeared correctly in the book. They were examples 13-9, 13-36, 14-15, 14-16, 19-15, 19-24, 20-1, 20-2, 20-3, 20-5, 21-8, 21-10 and 21-25. These have now been corrected.
Last updated June 19, 2025.