HTML is a language—no, it's a media type—no, it's a namespace. . .

Henry S. Thompson
17 Mar 2009

1. Lighthearted introduction

[Queue audience participation from aging SNL fans:]

SNL outtake showing Radnor, Ackroyd, Chase
and spray can

2. You can't tell the players without a program

One of the things the TAG tries to do is tease apart different aspects of a problem

Not in order to dismiss the non-technical ones

So I'm going to briefly (two more slides) set out the technical background to the issue at hand

3. Media types, applications and languages

Media types such as image/png, text/plain and application/pdf are essentially a dispatching mechanism

It's tempting to understand media types as signalling what language a particular message segment or document uses

And of course there's a pun here: messages/documents get dispatched to applications for processing

4. A digression about extensibility

I used XHTML+SVG+MathML exclusively for the slides for my most recent lecture course

That's one case of media-type-based language detection (image/svg+xml)

And one case of namespace-based extensibility (MathML embedded in SVG)

And a browser which dispatches on both

Everybody wins!

5. Languages, namespaces and versions

But 'language' is too fuzzy a term

What distinguishes a new language from a new version?

For XML languages, namespaces can sometimes discriminate between different dialects/versions/...

6. Conclusion

There is no technical reason why XHTML1.0, XHTML Basic, XHTML1.1, HTML5 and XHTML2 should not share the same media type and namespace