XHTML Mobile Profile

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Evolution of mobile web standards

XHTML Mobile Profile (XHTML MP) is a hypertextual computer language standard designed specifically for mobile phones and other resource-constrained devices.

HTML

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.

Contents

[edit] DOCTYPE

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.

[edit] 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.

[edit] Versions

  • Version 1.2 added form and object support.
  • Version 1.1 added full scripting support intended to be used with ECMAScript Mobile Profile.
  • Version 1.0 extended XHTML Basic 1.0 with certain presentation elements and basic scripting support.

[edit] Supported Modules

Modules included in XHTML-MP 1.2 are:

  • Structure
  • Texts
  • Hypertext
  • List
  • Forms
  • Basic Tables
  • Image
  • Object
  • Metainformation
  • Scripting
  • Style Sheet
  • Style Attribute
  • Link
  • Base

XHTML-MP 1.2 also includes partial support for:

  • Presentation
  • Intrinsic Events
  • Legacy

Finally, version 1.2 includes an OMA-specific module ("Text Input Modes") for dealing with the various input modes allowed on mobile phones.

[edit] Development pitfalls

Many problems arise when content written in XHTML is shown on different devices. Some will honor colors specified in CSS while some will not, some will render tables properly while others won't, just to mention some examples. 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 phone is discarded.

Many software initiatives present their solution to this problem. Most of them provide a proprietary language to write WAP content, which will render different content (XHTML-MP, WML, CHTML, etc) according to the requesting device. One free initiative is WURFL, which uses a hierarchical XML configuration file mapping hundreds of device capabilities, and a "Wireless Abstraction Layer" called WALL which allows writing tags that are automatically converted into the type of markup 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.

[edit] Example

A complete valid and well-formed example is:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN"
  "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Hello</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".

[edit] External links

Personal tools