XML in a Nutshell, 3rd Edition by Elliotte Rusty Harold, W. Scott Means This errata page lists errors corrected in the most recent printing. If you have technical questions or error reports, you can send them to booktech@oreilly.com. Please specify the printing date of your copy. This page was updated July 10, 2007 Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification (29) 2nd bulleted point; "How many of instances..." should read: "How many instances..." {40} last code on page; missing a closing ")" should be: {46} 2nd paragraph of IDREF section; "Every project has a project_id ID type attribute" should be: "Every project has an ID type attribute named id" also, towards the bottom of the page: should be: [47] End of IDREFS section; to {63}: The first paragraph of "Namespace Syntax" is really imprecise, or perhaps overly precise. Replace it with the following: Namespaces distinguish between elements with different meanings but the same name by assigning each element a URI. Generally, all the elements from one XML application are assigned to one URI, and all the elements from a different XML application are assigned to a different URI. These URIs are called namespace names. Elements with the same name but different URIs are different kinds of elements. Elements with the same name and the same URI are the same kind of element. Most of the time a single XML application has a single namespace URI for all its elements, though a few applications use multiple namespaces to subdivide different parts of the application. For instance, XSL uses different namespaces for XSL Transformations (XSLT) and XSL Formatting Objects (XSL-FO). (95) Subsection titled "The body of the work in the 'body' element"; The last sentence reads: Each div1 element has a header child... 'header' should be 'head' according to Example 6-1. [164] Figure 9-1: * text/xsl should be application/xml * xref:href="http://www.turing.org.uk" should be xlink:href="http://www.turing.org.uk" (193) In the last paragraph on the page; "purchase_details.html" should be: "purchase_details.txt" (266): In Example 16-4, remove the extra http:// from the namespace URIs for xmlns:xsi and xmlns:xsd. That is, change to (266): In Example 16-5, change xmlns:env to xmlns:SOAP-ENV and add a namespace declaration for the xsd and xsi prefixes. That is, change to {281} after 1st paragraph; In the sample command line % java dom.Writer -V -S addressdoc.xml both option letters must be given in lower case to enable schema validation: % java dom.Writer -v -s addressdoc.xml The given uppercase option letters DISABLE the schema validation, which is exactly what is not wanted here. {286}: The first code fragment on the page should declare the xs prefix, not the xsi prefix. That is change to {287}: The second code fragment on the page should declare the xs prefix, not the xsi prefix. That is change to {289}: Example 17-7 should declare the xs prefix, not the xsi prefix. That is change to {297}: Example 17-9 should declare the xs prefix, not the xsi prefix. That is change to {301}: Example 17-12 should declare the xs prefix, not the xsi prefix. That is change the first line from