About IR
Author instructions
Author index
Subject index
Valid XHTML 1.0!

Musciano, Chuck. and Kennedy, Bill HTML & XHTML: the definitive guide. 5th ed. Sebastopol, CA: O'Reilly, 2002. xxi, 645, [4] pp. ISBN 0-596-00382-x $39.95

Goodman, Danny Dynamic HTML: the definitive reference. 2nd ed. Sebastopol, CA: O'Reilly, 2002. xiii, 1401, [6] pp. ISBN 0-596-00316-1 $59.95

Each of these books has what we might call an alternative sub-title on the cover: 'Creating effective Web pages' for HTML & XHTML, and 'A comprehensive resoure for HTML, CSS, DOM & JavaScript' for Dynamic HTML. These 'sub-titles' nicely distinguish between a 'guide', which is essentially a 'how-to-do-it' book, and a 'reference resource', which assumes that you know how to do it, but which provides a back-up for the more esoteric functions you might use less frequently.

Whether either can be 'definitive' in this age of rapidly developing standards is, of course, questionable, and the fact that one is in its fifth edition and the other in its second supports this doubt. Interesting, too, that it takes twice as many pages to provide the definitive reference as it does to provide the definitive guide! Proof, if any was needed , that there is always more to learn than the basic text can help us with. Or that 'definitive' loses its value as a word, if applied too often?

There are any number of books about HTML: the one I use most is Ian Graham's HTML 4.0 Sourcebook, which I find answers most of my questions most of the time, but my experience is that I need two or three guides of this kind, because they usually treat things in different degrees of detail and vary in the range of problems they choose to deal with. However, with these two new books, the beginner should be able to get to grips with HTML (and, to some extent, with XHTML) and then use the reference book to follow up on specific problems.

Why, HTML & XHTML? Essentially because version 4.01 of HTML is supposed to be the last, and will be replaced by XHTML, an attempt to re-write the rules of HTML under XML. Confused? Perhaps that is a necessary state of being in the Web world. I have yet to see much impact of XHTML on the pages I retrieve from the Web and, although I would like to make Information Research a fully-XHTML site, many of the browsers currently being used are not XML-compliant - and they need to be before XHTML can make much of an impact.

However, Musciano and Kennedy present us with a nice compromise - most of the book is devoted to HTML - the first 15 chapters, in fact - since that provides the basis for XHTML. To turn the former into the latter does not appear to be a major job. We need, of course, the initial specification of the language:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

But, thereafter, we can stick to HTML, as long as we observe some simple rules. First, and perhaps most important, given the loose way that most Web page writers produce their HTML, the nesting of elements should be strict: that is, we must use, for example <em><strong>this is bold, italic<strong><em> to achieve this is bold, italic, rather than <em><strong>this is bold, italic<em><strong>, which ought not to work under XHTML, but will do so in HTML. Secondly, all tags need end markers. It is no longer possible to assume that, if one uses <p> but not </p>, the browser will automatically understand that the previous paragraph has been ended. This means that even tags which to not normally have an end form, such as <br> must be represented with an end tag, thus - <br />. Note the space between the 'br' and the forward slash '/'. Thirdly, XHTML is case sensitive, you can mix and match upper and lower case tags in HTML, but not in XHTML, which uses lower case tags. Fourthly, some HTML attributes have no values: 'checked' is one such, which simply indicates that a specific field in a form is to be checked (or ticked) when it is loaded (this is how e-commerce sites get you to sign up for things if you don't bother to 'uncheck' the field). 'checked' and other valueless attributes cannot be used in XHTML, but must be replaced by the form checked = "checked". In other words, the attribute 'checked' is given the value "checked". Note the double quotes for the value - this is another of the requirements of XHTML: all values must be in double quotes, so a statement like <table colspan=3> must be rewritten as <table colspan="3">. In general, therefore, one must be much more rigorous in wrting XHTML than in writing HTML - which is not a bad thing in any event.

As noted earlier, the authors deal with XHTML in Chapter - the first 15 chapters are taken up with how to use HTML effectively in the design of Web pages. Given that this is the 5th edition of the work, you can imagine that the authors have established an excellent framework for introducting the beginner to the mysteries before moving on to the more esoteric fields of frames, tables, and cascading style sheets. If the fact that the book is in its 5th edition was not already recommendation enough, I would be recommending it as an essential purchase.

In working my way through Chuck and Bill's text, I referred from time to time to 'the definitive reference' on dynamic HTML, and found its specification of every tag and attribute in this mark-up language very useful. It is not the kind of book that you would read from cover to cover - or, at least, not the kind of book I would read from cover to cover, but if you need to resolve some tricky issue in coding, this must be the 'Bible'.

Why 'dynamic' HTML, however? Curiously, neither of these books has a simple definition of what a 'dynamic' Web page is, perhaps because easy definition is not possible. However, I shall try: a dynamic Web page is one that embodies code that either (a) automatically calls new content from the server where the page is originally mounted or (b) automatically generates layout and other details once stored in the client computer. The easiest example of the first case is the 'refresh' instruction which calls a different page from the server to that originally requested. I use a 'refresh' instruction to take users from the original site for the journal to InformationR.net. Cascading style sheets are an example of the latter - once downloaded to the client computer the style sheet instructions are followed to create the font styles and layout intended by the author.

Goodman has taken on a massive task to sort out the various problems of standards and browsers, to ensure that the Web designer takes account of the various quirks of Netscape and Internet Explorer. But he begins with what is, essentially, a small book on applying dyanmic HTML, before going on to document all of the tags and attributes in the reference section.

Given the size of this book, the price is modest, and if you work intensively with HTML or are interested in getting to grips with dynamic HTML, this volume should be by your workstation.

Professor Tom Wilson

How to cite this review

Wilson, T.D. (2003) Review of: Musciano, Chuck. and Kennedy, Bill.   HTML & XHTML: the definitive guide. 5th ed. Sebastopol, CA: O'Reilly, 2002 and Goodman, Danny. Dynamic HTML: the definitive reference. 2nd ed. Sebastopol, CA: O'Reilly, 2002.   Information Research, 8(2), review no. 076    [Available at: http://informationr.net/ir/reviews/revs076.html]