XHTML 1.0′s Appendix C is the bible for tag soup pretend XHTML (like what I produce: stop bristling, it’s true): it tells you how to produce XHTML which you can serve as
text/html to browsers which don’t understand
application/xhtml+xml, or, much more commonly, how to pretend that you are using XHTML for some hypothetical future benefit when you are actually just producing HTML with some extra slashes.
However, when I started looking at how far WordPress had strayed from being actual XHTML that could be served as
application/xhtml+xml, the very third thing I found looks rather like a deal-breaker: WordPress 2.0 is going to have an editing interface to let you choose custom colors for that blue gradient header background you’ve seen a billion times behind the title of “Foo, Just another WordPress weblog.” The values for the colors are then passed in the query string of a
background: url() CSS declaration, and since there’s an upper and a lower, that’s
Unfortunately, Appendix C’s take on that, because the contents of
script in XHTML are #PCDATA, parsed character data where
& is converted to
&, while in HTML they are #CDATA, character data where character references are not converted to characters, is
Use external style sheets if your style sheet uses
Hixie’s famous Sending XHTML as text/html Considered Harmful offers a less final, but also less palatable alternative:
<style type="text/css"><!--/*--><![CDATA[/*><!--*/ ... /*]]>*/--></style>
which I’ve heard doesn’t work correctly in some older versions of Opera, though I don’t know if that’s actually true. Even if it works perfectly in every browser, bleah. That’s awful, a cunning plan at best. Is it also the only alternative to recasting the entire operation so that the URL is hidden away in an external CSS file? That’s not a happy choice, since you can’t count on being able to write to the
wp-content directory, but not having the URL with the colors in the query string means having an external CSS file that not only creates an image, but also does a database query. I’m starting to like my hide the whole thing from people doing
application/xhtml+xml idea more all the time.