I did the "look inside the book" and saw already an error in the first schema example of listing 1.2.
e.g.:
<xsd:element name="Title" ref="Title">
<xsd:element name="Authors" ref="Authors">
<xsd:element name="Publisher" ref="Publisher">
You can't use both the name and ref attribute at the same time.
To confirm this, I validated the example both in Eclipse 3.7.1 and Altova XML Spy Enterprise Edition 2012 and had errors.
This is very confusing for people who want to learn this already complex schema language.