Learning XML by Erik T. Ray This errata page lists errors outstanding in the most recent printing. If you have any error reports or technical questions, you can send them to booktech@oreilly.com. (Please specify the printing date of your copy.) This page was last updated on March 05, 2003. 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 CONFIRMED errors: (13) In the fifth paragraph (second paragraph under "Keep It Simple"): "... there will more and cheaper programs available ..." should read: "... there will be more and cheaper programs available ..." (27) In the second paragraph: "... but you many be curious to know ..." should read: "... but you may be curious to know ..." (28) last line of 3rd paragraph; Insert "with " before "style". Remove whitespace before period. (48) penultimate paragraph, 3rd sentence: "The problem is how enter..." should read: "The problem is how to enter..." (50) IN PRINT: Figure 2-15; "&chap1---..." SHOULD BE: "&chap1;---..." {94} 2nd paragraph; An example got deleted somehow. Take out the last paragraph and example in the section and say: For example in a DocBook document with a with id="s1", you can create a range from the start of the first to the start of the second para with the span: id(s1).span(descendant(1,para),descendant(2,para)) {206} Example 6-3, Just after the first
, the following should be inserted: Find out which episode. This is again because the XML of 6-1 uses the element , whose text would be output by a default XSL rule, rather than a true XML comment. {301} see description; Example 8-2 ("dbfix") The sub &space_after_start() (used twice) is undefined. Here's the missing text. You can put it at the end of the example: # space_after_start # ----------------- # Add newlines after tag if it's in the list # sub space_after_start { my( $name ) = @_; my $buf = ""; if( defined( $space_after_start{ $name } )) { my $spaces = $space_after_start{ $name }; for ( my $i=0; $i<$spaces; $i++ ) { $buf .= "\n"; } } return $buf; }