This tutorial offers step-by-step instruction for developers familiar with HTML who want to learn how to use XHTML in practical Web sites. XHTML is more than just an XML-compliant variation. It also opens up the first step in advancing from tag soup Web sites to sites that properly separate content from presentation, and thus save time and money in maintenance. The focus of this tutorial will be XHTML 1.1, with the occasional mention of XHTML 2.0. The lessons are built around examples that readers can view and experiment with in their favorite browser.
XHTML is important in all areas of Web design and management. It is broadly applicable, and yet relatively easy to pick up for those already familiar with HTML and XML. Web designers should take this tutorial to learn how to develop well-formed pages. Programmers should take this tutorial if they deal with any Web applications. Developers who are learning XML should take this tutorial to learn about one of the most important examples of XML.
This tutorial assumes knowledge of XML, XML namespaces, and HTML. If you aren't familiar with XML, take the developerWorks tutorial "Introduction to XML." If you aren't familiar with HTML, a good place to start is "Dave Raggett's introduction to HTML." If you need to learn about XML namespaces, read the article "Plan to use XML namespaces, Part 1."
I highly recommend that you try out the examples. They only require a Web browser that supports XHTML 1.1 -- and most current Web browsers do support this standard. When giving browser output examples, I show screenshots of Firefox 1.0.4 on Fedora Core Linux. Firefox is a popular Web browser available on Windows, Mac OS X, Linux, and other platforms. It is based on Mozilla's rendering engine.
In this tutorial you will see many examples of XHTML files. You can find all the files shown here in the zip file, x-xhtml-tutorial-files.zip. In this package, all files start with a prefix indicating the section that discusses them and the order of examples within the section. For example, the names of files from the first example in the third section start with "eg_3_1".
Files that end with .xhtml are XHTML. A few of the files have more specialized extensions such as .xsl for XSLT transform files.
I do take care to further list the example files in each panel and show how each relates to the other, so if you follow along with the tutorial you should be able to locate and experiment with the examples easily enough.