HTML: The Definitive Guide 2
by Chuck Musciano and Bill Kennedy
Here are the errors fixed in the 3/98 reprint:
[xiv-xv] This replaced the text from the header "Is HTML 3.2..." to the para.
just before the bulleted list:
HTML 4.0 Is Not the Definitive Standard!
Depending on our mood, when people ask us about the new HTML 4.0
"standard", we respond with a groan, a bemused smile, or uproarious
laughter. Folks, HTML 4.0 isn't a standard; it is where HTML 3.2 was
just before it became The Standard. Web foundations are not
shaking. In fact, the new language definition simply confirms what
most Web observers have known for some time now, that the commercial
browser manufacturers are the tail wagging the HTML standards dog.
Until about mid-1996, people actually were serious about HTML
standards. (Some of us still are.) Until then, standards guided the
development of new browsers. After release of HTML 2.0, however, the
elders of the World Wide Web Consortium (W3C) responsible for such
language-standards matters lost control. The abortive HTML+ standard
never got off the ground, and HTML 3.0 became so bogged down in debate
that the W3C simply shelved the entire draft standard.
What mired the development of new language standards was Netscape
Navigator. Most Web analysts agree that Netscape's quick success in
becoming the browser of choice for an overwhelming majority of users
can be attributed directly to the company's implementation of useful
and exciting additions to HTML. Today, all other browser
manufacturers, in particular the behemoth Microsoft Corp. who
appreciates the meaning of "de facto standard" better than anyone in
the business, have to implement Netscape's HTML extensions if they
expect to have any chance of competing in the Web browser
marketplace. By pushing the W3C to officially release HTML standards,
browser manufacturers gain legitimacy for their products without
having to acknowledge their competitors. Internet Explorer, for
instance, becomes "HTML 4.0-compliant," rather than submissively
"Netscape Navigator-compliant."
The scramble to gain the HTML standards edge will never abate. Like
the current standard, the HTML 4.0 draft is a stewpot of commercial
and academic interests, all bent on adding their distinctive flavoring
to the language. The paradox is that neither HTML 3.2, nor HTML 4.0,
is the definitive source for the language. There are many more
features of HTML in popular use than are included in either the
language standard or its drafted replacement.
This book, on the other hand, is the Definitive Guide to HTML. We give
details for all the elements of the HTML standard, plus the variety of
interesting and useful extensions to the language-some proposed
standards-that the popular browser manufacturers have chosen to
include in their products, such as:
<133> Changed cross-reference to section 6.5 to 7.5.
(165) last line: should be
(166) 3rd para.: "It is possible emulate" should be "It is possible to
emulate"
(252) para. 1: Third sentence should read:
"Internet Explorer 4.0, introduced in the fall of 1997, implements
most of the W3C standard."
At the end of the fourth sentence, "1997" should be "spring of 1997".
(252) para. 2: Second sentence: "partially supported" should be
"supported", "Explorer 3.0" should be "Explorer 4.0", and "the third
pre release of" should be deleted
{254} in the code, line 6, the colon after "H1" should be deleted
{258} last bullet item: last sentence should be deleted
[262] para. 2 should be deleted
(263): reprinted for pagebreak
[268] entire second para. should be removed
[270] Replace para beginning with "The relative and absolute..." with
"Incremental point sizes (+2pt, for example) are not currently handled
correctly by any browser."
{270} text after 1st code: In sentence beginning "As of this writing",
remove "and Internet Explorer 3", change "support" to "supports",
remove "." at the end and replace with "; Internet Explorer 4 supports
both values."
{270} last para. of section 9.3.3.4 should read:
"This property is not supported by Netscape; Internet Explorer 4
incorrectly implements *small-caps* as all upper case."
[271] Replace entire first para with
"Internet Explorer 4 and Netscape 4 support the *normal* and *bold*
values, with Internet Explorer 4 supporting the *lighter* and *bolder*
values as well. Both browsers support the numeric boldness values."
[271] Delete entire second para beginning with "Internet Explorer 3
does support..."
{272} Replace entire para beginning with "Internet Explorer 3 does not
support..." with "Netscape does not support this style property."
{273} para. 2: replace "Internet Explorer 3" with "Netscape".
{274} para. 2: replace "Internet Explorer 3" with "Netscape".
{275} para. 6: replace "Internet Explorer 3" with "Netscape".
[276] Delete entire para beginning with "Internet Explorer 3 does
not..."
{277} para. 2: replace "Internet Explorer 3" with "For many background
effects, Netscape".
{277} Last line on page, replace "not supported by any browser" with
"only supported by Internet Explorer 4".
[278] Delete entire para beginning with "Internet Explorer 3 does
not..."
[279] Delete entire para beginning with "Internet Explorer 3 does
not..."
{279} para. 7: Replace "Internet Explorer supports only the
*underline* and *line-through* values" with "Internet Explorer 4 does
not support the *blink* value".
{280} para. 5: Delete "This property is not supported by Internet
Explorer 3." Replace "While supported by" with "In".
{281} para. 3: Replace "This property is not supported by any browser"
with "Netscape 4 supports all but the *sub*, *super*, and *baseline*
values only when this property is applied to the *
* tag.
Internet Explorer 4 supports only *sub* and *super* when applied to
text elements."
[284] Delete entire para beginning with "Unfortunately, none of the
border..."
[285] At end of section 9.3.6.4, add a para: "Netscape supports this
property even when used alone; Internet Explorer 4 only honors this
property if borders are enabled through other border properties."
{286} At end of section 9.3.6.5, add a para: "Neither Internet
Explorer or Netscape support the *dashed* or *dotted* values."
{286} At end of section 9.3.6.6, add a para: "Both Netscape and
Internet Explorer support the *border* property, but only Internet
Explorer supports the individual side properties."
[287] Delete entire para beginning "The *clear* property currently is
not..."
{287} Replace para beginning "This property is not yet supported..."
with "This property is only supported by Internet Explorer for images.
Netscape honors it for textual elements as well."
{288} para. 6 replace "not yet" with "fully".
[289] Remove entire para beginning "Internet Explorer 3 only
supports..."
[290] Delete entire first para
[290] Delete entire para beginning "This property is not supported..."
{291} para. 6: Replace "not supported by any browser" with "only
supported by Internet Explorer 4."
[292] Delete entire para beginning "This property is not..."
[292] Delete entire para beginning "This property is not..."
(293): reprinted for pagebreak
{294} Replace para beginning "Besides..." with "This property is fully
supported by Netscape 4; Internet Explorer 4 supports only the *none*
value."
{294} Replace para beginning "This property is not..." with "This
property is not supported by Internet Explorer; Netscape only supports
the *pre* and *normal* values."
{296} para. 3: In first sentence, replace "early 1997" with "late
1997". In last sentence, remove everything, including the parenthetic
"see 13.4", after "in their most recent versions."
{296} para. 4: First sentence, replace "So, currently" with
"Currently." At end of para, remove sentence "Netscape promises
complete support...to keep pace with Netscape." In last sentence,
replace "first half of 1997" with "last half of 1997" and replace "end
of the year" with "end of 1998".
(297): reprinted for pagebreak
{337} In the example, about halfway down,
"makeword(query_string, '&'.;"
should be
"makeword(query_string, '&');"
Similarly, four lines later,
"makeword(entries[num_entries].val, '='.;"
should be
"makeword(entries[num_entries].val, '=');"
{339} In the example, about halfway down,
"fmakeword(stdin, '&'. &cl);"
should be
"fmakeword(stdin, '&', &cl);"
Four lines later,
"makeword(entries[num_entries].val, '='.;"
should be
"makeword(entries[num_entries].val, '=');"
{347} para. 2: Replace second sentence, beginning with "The default
behavior..." with "The default behavior, represented by the value
*all*, is to draw borders around all cells." Replace last sentence
beginning with "Using *rows* or *cols*..." with "Using *rows* or
*cols* places borders only between every row or column, respectively,
while using *none* removes borders from every cell in the table."
{347} Remove footnote at bottom of the page.
(405) "also lets your label the" should read "also lets you label the"
(477) next-to-last entry: "PFor" should be "For"
(511) The "Small a, acute accent" Symbol has the wrong accent. The
accent should rise right, not left.
(533) In the "About the authors", replace the sentence in Chuck
Musciano's section beginning "Most recently, he has taken..." with
"Most recently, he has taken the position of Chief Information Officer
with the American Kennel Club in Raleigh, North Carolina."
[Appendix C] Replaced entire table with online version of the table
at www.ora.com/info/html.