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.