Anne van Kesteren

Phones only to support XHTML 2.0: rejoice!

I’ve had it with all that XHTML 2.0 cheering. Especially with the following argument:

Embedded devices such as phones and digital TVs have no need to support the Web’s legacy of messy HTML, and are free to take unburdened advantage of XHTML 2.0 as a pure XML vocabulary.

Now I’ve seen quite some sites quoting the above as if it were some fact. It really intrigues me how people can think stuff like that. There is a similar argument for using XHTML I believe. Browser vendors are not that stupid fortunately. People want to browse the web, not your weblog.

People talk about messy HTML all the time. Like it is some kind of plague. But try opening up the error console in Opera’s latest preview or the one from Firefox and see how many pages make mistakes in CSS. Would this mean, talking to the same people now, that CSS has to be replaced as well? Have those people ever looked at the state of RSS on the web? (XML on the Web Has Failed.) An IETF WG (of which I was part) replaced it with Atom, but we only solved the basic problems with RSS. Not all.

Forward compatibility. Did it ever occur to you that a new namespace means that your templates probably have to be rewritten? Actually, using templates might not be safe given that for XHTML 2.0 you actually have to change the Content-Type header. This is because XHTML 2.0 adds several new abilities that will never be implemented for HTML. If XHTML 2.0 would have build upon the http://www.w3.org/1999/xhtml namespace it might have worked, but it doesn’t. HTML 5.0 does and adds much needed elements like header and footer. Apparently there is this common misunderstanding about HTML 5.0, that it is no XML. It actually is. There are two different types of serialization. You can write your HTML 5.0 being HTML compatible and have it parsed like HTML, but you can also put the elements in the http://www.w3.org/1999/xhtml namespace and serve your file as XML. Anything else that is unclear?

Comments

  1. I think the general state for code on most web sites is so much worse than people believe; and it's not just about perfectly valid and/or well-formed code, it's about depending on scripts, code that have never been struck by the semantics wand etc...

    In theory, it's very easy to have arguments like the one you quote, especially when only writing specifications, but in the practical world we still have so far to go.

    I know some people will only see this a HTML 5.0 promoting post, but I'm genuinely interested in how that will turn out and how web browser vendors will treat HTML 5.0 and XHTML 2.0.

    Posted by Robert Nyman at

  2. So you’re adding elements to a namespace URI that is controlled by someone else? (http://www.w3.org/1999/xhtml)

    Afaik, the HTML WG hasn’t explicitly committed to not using that namespace. Now that HTML5 does, doesn’t that like, cause conflicts if they would use it in XHTML2 as well?

    Anyways, the quote about mobile devices was true in the days of WAP and iMode. Had they been there back then, it might have given XHTML a big boost. However, I do not think that is the case anymore with current-generation mobile phones, people want to browse the web.

    It’s like IPv6, mobile operators could have forced content authors to use IPv6 in the previous generation of phones (especially since there are so many mobile phones that they would never fit in the remaining IPv4 space, that would have made sense), but they didn’t. Had they done it though, it could have sped up the transition to IPv6. My website provider explicitly mentions WAP support, had WAP required IPv6 then I’m sure they would have installed IPv6 on their servers.

    ~Grauw

    Posted by Laurens Holst at

  3. My website provider explicitly mentions WAP support, had WAP required IPv6 then I’m sure they would have installed IPv6 on their servers.

    Or they wouldn't have had WAP at all because it would be too difficult to deploy.

    Posted by J. King at

  4. As T-Mobile's marketing department put it:
    "Finally browse the REAL internet on your phone!"

    Posted by James / AkaXakA at

  5. To parse HTML5 as XML, would I not have to write <br></br>? The absence of XML-style singleton tags in HTML5 bothers me. I found them valuable in easing maintenance -- <br/> is easier to recognize as a singleton tag than <br> while scanning through a document with one's eyes. The easier it is to keep track of the hierarchy in one's brain, the easier it is to write proper code.

    Posted by LeoPetr at

  6. I've only glanced at the developing spec, since it's nowhere near finished. This is the first time I've ever heard anyone say that HTML 5.0 can be written in XML format. When I hear "HTML", I only think text/html and never application/xml. Now that I know this key detail, you've got my attention!

    Posted by Devon at

  7. A quick glance at the spec...ouch! It really does use another language's namespace. I can't use it for XML 'til that's changed.

    Posted by Devon at

  8. Laurens, well, I’m not personally doing that, but I do support it. XHTML 2.0 really seems to be using that new namespace for no good reason and they are pushing for it as well (Firefox has some stuff in it) from what I can see. If they come to senses and stop doing all the revolutionary things which have no clear benefit (the added semantics are weak at best compared to HTML 5.0) it’s not clear to me what would be left. Anyway, at that point I’m sure something can be worked out. HTML 5.0 as it is now is a proposal. It might eventually be brought to the W3C. Several parts of it are already taking that route.

    LeoPetr, no, you can use XML syntax in the XML serialization of HTML 5.0, also called XHTML 5.0.

    Devon, yeah, it is interesting indeed :-)

    Posted by Anne at

  9. It would be good if HTML 5 and XHTML 2 were merged together into one spec and used the XHTML 1.x namespace. There are some good additions to XHTML 2, but certainly not enough to warrant its complete lack of backwards compatibility.

    Posted by Lachlan Hunt at

  10. Please don't call it XHTML 5.0. There is likely to be an XHTML 3, 4 and 5 from the W3C and this will only cause confusion.

    Posted by Chris Hester at

  11. Please don't call it XHTML 5.0. There is likely to be an XHTML 3, 4 and 5 from the W3C and this will only cause confusion.

    Dude, by the time the W3C gets around to XHTML 5, we'll all be long dead.

    Posted by Mark at

  12. Dude, by the time the W3C gets around to XHTML 5, we'll all be long dead.

    You make that sound like a bad thing.

    Posted by Jacques Distler at