Title: XHTML Tutorial in 3 minutes or less
Author: Travis M Owens  travisowens@hotmail.com
Date: 8-21-2000


4 Basic Rules of XHTML
=======================

#1 Tags are case sensitive and its recommended you write your code in lower case.

#2 All values MUST use quotes
  ie.  <table border="0" cellpadding="0" cellspacing="0">

#3 All tags must have a begin and an end, if they have no ending tag, the tag must end itself
  ie.  <img src="my.gif">  is now  <img src="my.gif" />
       <br>  is now  <br />

#4 All values that didn't normally have attributes with a value now require one
  ie.  <hr noshade>
  must now be
       <hr noshade="noshade" />



Why is XHTML Important?
=======================
You are probably thinking XHTML is just silly, or just a way to make HTML harder,
well this is not the case, I will explain why XHTML is so important to our future.

As a programmer, I realize HTML is sloppy, it doesn't require quotes around attributes
and people will use quotes in one part of a document but not another.  What this means
is that a browser must read in the html, but then analyze it.  It must check if quotes
are used, and it must also understand how each tag works.  That is a lot of checking to
do, in fact if I wrote an HTML validator (which each browser already has to do) I would
easily say the checking code itself will reach over 100 lines.

Now lets look at XHTML, where the rules are strict, you MUST use quotes everywhere,
all tags have an ending, and if they don't, there is a 'symbol' that says the tag is
self ending.  This means that any XML validator will validate XHTML because its very
generic code.  From a programming aspect you know that after an equal sign there must
be a quote, a bunch of data with no new line, and then and ending quote.  I'd say I
could write an XHTML validator in like 3-5 lines of code.  And if new tags were added,
my XHTML validator would not need updating because all tags follow this simple method.
The XHTML validator is independent of the code itself, its only dependant on that
simple format.  While an HTML validator needs to be updated each time HTML changes.  
While an XHTML browser obviously needs to be updated to support the new tag, at least
you know for sure that the validator will always pass new tags.

Ok, now for the real question... Who cares?

The thing is, a computer is so fast who cares if it takes 1 second or .05 seconds to
parse HTML code.  Thats true, nobody cares about a computer, but the whole point of
XHTML is to make HTML more efficient for simpler devices.  That extra time requires
more CPU power and more battery power.  Something small and simple like Cell Phones
and Pagers could not easily process HTML.  It would take abnormally long and use up
battery life somewhat fast.  XHTML is so easy to parse that its hardware requirements
are very small, it doesn't need lots of ram, cpu or power.  I mean, who wants to pay
more than they have to for these 'toys'?

Now don't limit your thinking to these implementations, you NEED to realize computer
to computer communication is the future, devices will work together more and more.
Imagine your TV and VCR communicating together (this is reality it will happen) for
whatever reason, perhaps so the VCR can skip commercials, or to know when to
automatically to record your favorite program you have watched everyday for the past
month and it just so happens your not watching it now.  Obviously these devices need
to use an open, clean and efficient standard, which is obviously XML.  (XHTML
follows the XML ideals)  Its obvious everyone should practice using a better markup
language and clean the net of all this garbled code.

One last thing to note that XHTML code is 100% backward compatible with HTML.  This
means whatever browser you have, even Netscape 1.0, will parse XHTML code just fine.
It has been standard for browsers to ignore code they don't understand as long as its
inside a tag.  So that trailing " /" is simply ignored, and to be honest, HTML was
meant to have quotes around all attributes in the first place.

Info
====
Travis Owens is an Internet Developer (webdesign, e-commerce programing, perl/php/sql
coder) living in central New York.  He spends his free time studying up on new
technologies, feeding his two cats (What kind of webdesigner doesn't have a cat?) and
throwing parties.