XHTML Mobile Profile
|This article is outdated. (November 2010)|
It is an XHTML document type defined by the Open Mobile Alliance. XHTML-MP is derived from XHTML Basic 1.0 by adding XHTML Modules, with later versions of the standard adding more modules. However, for certain modules, XHTML-MP does not mandate a complete implementation so an XHTML-MP browser may not be fully conforming on all modules.
The XHTML MP 1.2 DTD is the current recommendation, finalized in March 2008.
To validate as XHTML-MP, a document must contain a proper Document Type Declaration, or DOCTYPE, depending on the version of specification followed
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd"> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">
Note that a series of revisions have been issued to correct technical errors in the above DTDs, and the DTD format is more complex and less widely supported than that of standard HTML
MIME types 
The MIME type for XHTML Mobile Profile is "application/vnd.wap.xhtml+xml". Conforming user agents should also accept "application/xhtml+xml" and "text/html". Many desktop browsers will only validate XHTML-MP at display time, if an XML MIME type is specified.
Development pitfalls 
Many problems arise when content written in XHTML is shown on different devices. For example, some devices will honor colors specified in CSS, while other devices will not. Building an adaptive application means delivering different content to different devices, according to their capabilities. This can bring huge complexity, given the number of different devices in the market with different hardware (screen-sizes, coloring capacity, buttons, memory and speed) and browsers. Software updates on mobile browsers are much more difficult than with desktop browsers, and as a result broken software tends to stay in use until the device is discarded.
Many software initiatives attempt to solve this problem. Most of these initiatives provide a proprietary language to write WAP content, which will render different content (XHTML-MP, WML, CHTML, etc.) according to the requesting device. One commercial initiative is WURFL, which uses a hierarchical XML configuration file mapping hundreds of device capabilities. WURFL also offers a "Wireless Abstraction Layer", called WALL, which specifies special tags that are automatically converted into a markup language supported by the device. The W3C DDWG has created a specification to standardize access to repositories of device capability information, to be part of a common framework for content adaptation technologies.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Hello world</title> </head> <body> <p>Hello <a href="http://example.org/">world</a>.</p> </body> </html>
When served with a MIME type of "application/xhtml+xml" or "application/vnd.wap.xhtml+xml".
- "XHTML Basic 1.1, W3C Recommendation 29 July 2008". World Wide Web Consortium. 2008-07-29. Retrieved 2010-05-06.
- Open Mobile Alliance
- W3C Recommendation for XHTML 1.1
- W3C Recommendation for Modularization of XHTML as of April 10, 2001.
- XHTML-MP Authoring Practices