At this point, you know quite a bit about the basic syntax of HTML documents. You also
know about the basic functionality of several elements and attributes, and you know how
to use an XHTML DTD to determine how elements can relate to one another and what
types of data can be used in attributes. There are still a number of HTML 4.01 elements and
attributes that we haven’t covered, and in fact most of those won’t be covered in this book.
But you should now understand HTML well enough to be able to learn about the remaining
elements from the HTML language references given here.
The authoritative reference for the XHTML 1.0 language is actually contained in two
online documents: [W3C-XHTML-1.0] and [W3C-HTML-4.01]. The latter provides the
semantic details of all of the various HTML 4.01/XHTML 1.0 elements (click the Elements
link at the top of the page for a complete table of elements with links to details of each).
This reference also provides some examples of element usage. However, these are HTML
4.01 examples, and many are not syntactically correct XHTML 1.0, so you should not
cut and paste these examples into your own XHTML documents. The former reference
carefully explains the syntax of XHTML 1.0 and how this differs from HTML 4.01. A set
of annotated DTDs for the XHTML 1.0 language flavors is available at [W3C-XHTMLDTDS].
The specification for relative URLs is contained in [STD-66]. W3C-recommended
guidelines for designing web pages for access by users with disabilities are provided at
[W3C-WAI].
In order to write real-world HTML applications, you should also be familiar with the
idiosyncrasies of various browsers, which may not perfectly implement the XHTML 1.0
recommendation. Covering browser idiosyncrasies in detail is beyond the scope of this book.
However, generally speaking, virtually all modern browsers support all of the elements of
the HTML 4.01/XHTML 1.0 recommendations (one exception is that Internet Explorer
6 does not support the abbr element). So, as far as basic HTML markup is concerned,
if you follow the W3C recommendations and the syntax described in this chapter, your
markup should be compatible with essentially all browsers. However, beyond basic markup
there are some significant differences between browsers; for instance, many differences
between Mozilla and IE6 will become evident in Chapter 5. Therefore, you should refer
to developer documentation for complete details on each browser. For Internet Explorer,
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml reference entry.
asp is a good documentation starting point; for Mozilla, http://www.mozilla.org/docs/
web-developer/ has links to documentation.
As discussed earlier, XHTML 1.0 is defined using XML 1.0. This means that the
basic syntax of XHTML 1.0 and also the syntax of XML DTDs are defined as part of
the XML specification. The authoritative XML 1.0 reference is [W3C-XML-1.0]. This
reference makes extensive use of a form of extended BNF notation that is described in the
final section of the document (“6 Notation”), which I recommend at least skimming before
reading other parts of the document.We’ll be covering XML in more detail in Chapter 7, so
you shouldn’t be concerned about understanding everything in the XML reference at this
point.