Definitive XML Schema

Definitive XML Schema

Priscilla Walmsley (

1st edition (December 7, 2001)

Prentice Hall PTR; ISBN: 0130655678

Errata in the 1st printing

Strikethrough indicates deleted text and underline indicates inserted text.

Chapter 1

Chapter 6


Chapter 7

Chapter 9

Chapter 10

Chapter 12

Chapter 14

<xsd:complexType name="RestrictedLetterType">
    <xsd:restriction base="LetterType">
        <xsd:restriction base="xsd:string"/>

Chapter 17

Chapter 18

<xsd:schema xmlns:xsd="">
  <xsd:import namespace=""/>
  <xsd:attributeGroup name="IdentifierGroup">
    <xsd:attribute name="id" type="xsd:ID" use="required"/>
    <xsd:attribute name="version" type="xsd:decimal"/>
    <xsd:attribute ref="xml:lang"/>

Chapter 20

Chapter 21

Appendix A

Changes for XML Schema 1.0 Second Edition

The W3C Schema Working Group has published the second edition of the XML Schema 1.0 recommendation. Below are the changes required to bring Definitive XML Schema up to the level of XML Schema 1.0 Second Edition. Each change is followed by a link to the W3C description of the erratum.

Chapter 6

  • p. 114. Table 6-4. The public attribute of notation is not required. Rather, either the public or system attribute is required. Appendix A should also be changed to reflect this. [Erratum E1-16].

Chapter 12

  • p. 229. The language type now follows RFC 3066 instead of RFC 1766. This allows two- or three- letter language codes. Additionally, the pattern constraining language was relaxed to allow up to eight characters for each part of the value [Erratum E2-25].
  • p. 231. For float and double, positive zero is now considered to be equal to negative zero. NaN (Not-a-number) can no longer be compared to other values; it is neither less than nor greater than other values, and it is not equal to itself [Erratum E2-40].
  • p. 238. The value 24:00:00 is now valid to represent midnight for time values [Erratum E2-45].
  • p. 244. The numbers appearing in a duration value must be unsigned, and the number of seconds may not end in decimal point [Erratum E2-23].
  • p. 257 and 258. Use of the length facet has been deprecated for types derived from NOTATION and QName. [Erratum E2-36].
  • p. 259. A number of changes were made to the valid lexical representations of the base64Binary type. They are documented fully in the erratum description. [Erratum E2-9].

Last updated February 19, 2010.