Wireless Markup Language

related topics
{system, computer, user}
{math, number, function}
{work, book, publish}
{area, community, home}
{car, race, vehicle}
{law, state, case}
{line, north, south}

Wireless Markup Language, based on XML, is a markup language intended for devices that implement the Wireless Application Protocol (WAP) specification, such as mobile phones, and preceded the use of other markup languages now used with WAP, such as HTML/XHTML (which are gaining in popularity as processing power in mobile devices increases).


WML history

Building on Openwave's HDML, Nokia's "Tagged Text Markup Language" (TTML) and Ericsson's proprietary markup language for mobile content, the WAP Forum created the WML 1.1 standard in 1998[1]. WML 2.0 was specified in 2001[2] , but has not been widely adopted. It was an attempt at bridging WML and XHTML Basic before the WAP 2.0 spec was finalized [3]. In the end, XHTML Mobile Profile became the markup language used in WAP 2.0. The newest WML version in active use is 1.3.

WML markup

WML documents are XML documents that validate against the WML DTD (Document Type Definition)[4] . The W3C Markup Validation service (http://validator.w3.org/) can be used to validate WML documents (they are validated against their declared document type).

For example, the following WML page could be saved as "example.wml":

<?xml version="1.0"?>
   "http://www.wapforum.org/DTD/wml_1.1.xml" >
  <card id="main" title="First Card">
    <p mode="wrap">This is a sample WML page.</p>

Wireless Markup Language is a lot like HTML (Hyper Text Markup Language) in that it provides navigational support, data input, hyperlinks, text and image presentation, and forms. A WML document is known as a “deck”. Data in the deck is structured into one or more “cards” (pages) – each of which represents a single interaction with the user. The introduction of the terms "deck" and "card" into the internet and mobile phone communities was a result of the user interface software and its interaction with wireless communications services having to comply with the requirements of the laws of two or more nations.[citation needed]

WML decks are stored on an ordinary web server configured to serve the text/vnd.wap.wml MIME type in addition to plain HTML and variants. The WML cards when requested by a device are accessed by a bridge WAP gateway, which sits between mobile devices and the World Wide Web, passing pages from one to the other much like a proxy. The gateways send the WML pages on in a form suitable for mobile device reception (WAP Binary XML). This process is hidden from the phone, so it may access the page in the same way as a browser accesses HTML, using a URL (for example, http://example.com/foo.wml). (Provided the mobile phone operator has not specifically locked the phone to prevent access of user-specified URLs.)

WML has a scaled down set of procedural elements which can be used by the author to control navigation to other cards.

Consider a service that lets you enter a zip code, and obtain a list of clickable phone numbers of pizza parlors and taxicabs in your immediate location:

<card id="cM" title="MY_DOMAIN.com">
    <b>Call A Taxi:</b><br />
    <a href="wtai://wp/mc;%2B19035551212">903-555-1212</a>

Mobile devices are moving towards support for greater amounts of XHTML and even standard HTML as processing power in handsets increases. These standards are concerned with formatting and presentation. They do not however address cell-phone or mobile device hardware interfacing in the same way as WML.

[edit] WML support in desktop browsers

Screenshot of WMLBrowser on Mozilla Firefox

Opera supports WML natively. Mozilla based browsers (Mozilla Firefox, SeaMonkey, MicroB) can interpret WML by WMLBrowser addon.

[edit] Criticism

See: Criticism of WAP.


Full article ▸

related documents
Java Platform, Enterprise Edition
System request
Multiple-image Network Graphics
Electrical network
Source Mage GNU/Linux
Revision Control System
Computing platform
IBM 1620 Model II
Simple DirectMedia Layer
Corel Ventura
Video coding
Samba (software)
Batch processing
Physical Layer
Coda (file system)
Carrier sense multiple access
Backward compatibility
UAE (emulator)
Gender changer
Red Hat Linux
Berkeley DB
Internet Relay Chat takeover
Distributed switching
Image and Scanner Interface Specification