Content Negotiation for XHTML 1.0, XHTML Basic, and XHTML Mobile Profile, Part 1
I’ve researched the recomended practice for each of the document types I’d like to have my server and user agents negotiate among (desktop, pda, and mobile phone).
XHTML 1.x
This one is easy, since we already know what the recomendation for a generic XHTML document is:
application/xhtml+xml
XHTML Basic
Assuming we don’t serve XHTML 1.x documents as text/html
, we need to differentiate the above media type slightly in order to (hopefully) differentiate it enough to support content negotiation. The recommended answer comes from RFC 3236:
application/xhtml+xml; profile=http://www.w3.org/TR/xhtml- basic/xhtml-basic10.dtd
XHTML Mobile Profile
The WAP Forum is the orginization that defined XHTML MP, so here we reference Page 11 of the XHTML Mobile Profile specification (PDF document):
application/vnd.wap.xhtml+xml
Yes, I know that document says both that and application/xhtml+xml; profile=http://www.wapforum.org/xhtml
are required, but that doesn’t make any sense to require both, although choosing this media type instead would get around the problem of the other one not being registered with the IANA.