One of the final pieces of the puzzle (to use a worn out cliche that long since overstayed it's welcome) of moving web servers is making sure that the code in the blog posts here and for the show are valid XHTML (I had kept this in mind for several years, but I have made mistakes that need correcting). This is important for several reasons which I won't bore you with here, suffice to say it has to do with moving over to a new server with a new theme, possible assignment marks and with some XML software I'm writing.
For those who are staring at me with blank faces right now (even more than usual I mean), XHTML is a reformulation of HTML into strict XML instead of the more lenient SGML. Alphabet soup sentences aside, pragmatically this means you can pass your web pages through a XML parser which allows you to do some really cool things like converting pages into other file formats, extract data more easily, use microformats to generate feeds, and so on. The theory also is because XML is stricter than SGML, pages written in XHTML are more "correct" and should be easier for browsers to render.
ASIDE: You can tell if a page has been optimised for an XHTML standard by looking at the head of the source code for a page for a DOCTYPE definition.
The current standards are XHTML 1.0 Frameset, XHTML 1.0 Transitional and XHTML 1.0 Strict (which is what I currently use). XHTML 1.1 also exists, but has seen limited adoption given Internet Explorer 6’s hostility towards the required xml version declaration which triggers it’s quirks mode which isn’t what we want!
There seems to be a huge difference of opinion between people who see the value of validating web pages with a XHTML W3C specification, and those who say it's a waste of time and more of a hindrance to the web than an assistance.
I'm firmly in the first camp, but that's not to say I approve of everything the W3C is doing with their specs. Unfortunately the way I see it, for every three steps forward they make, they take one step backwards. This means they're definitely heading in the right direction and making progress (albeit at a snail's pace), but they're shedding some useful stuff along the way in their absolute rigid pursuit of code purity and correctness. Iframe elements and ordered lists come to mind, but I'll save them for another post where I can elaborate further.
As of the 5th of February 2009 the home page of this blog is valid XHTML 1.0 Strict, but there's still lots of work to be done for individual posts. A lot of this can be done automatically with a few Perl scripts I've hacked together, but a few tags that will need replacement can really only be taken care of by a human looking at it and making the correct substitutions. At least I feel I'm making progress.
XHTML sounds like an isotonic energy drink. It doesn't sound like Bill Kurtis, which is useful because I'm not Bill Kurtis.