Wireless Markup Language (WML) is a markup language based on XML (eXtensible Markup Language) used to construct web pages. The WML specification is developed and maintained by the WAP Forum, an industry-wide consortium. If a mobile phone or other communications device is WAP-capable, it has WML micro-browser loaded in it that fully understands WML.
A single WML package is called 'DECK'. Each of these decks can have many sub pages called 'CARDS'. Each WML card works like a web page and its contents are displayed to the user. When a WML page is accessed from a mobile phone, all the cards in the page are downloaded from the WAP server. Navigation between the cards is done by the computer inside the mobile phone without access to the server. WML pages have the extension *.WML, just like HTML pages have the extension *.HTML.WML includes the following major functions:
- Text and image support: For formatting and layout commands.
- Deck/card organizational metaphor: Information in WML is organized into a collection of cards and decks. Cards specify one or more units of interaction (a menu, a screen of text or a text-entry field).
- Support for explicitly managing the navigation between cards and decks: WML includes provisions for event handling, which may be used for navigation or executing scripts.
WML is a tag-based markup language designed after the model of HTML for Web content. However WML (and its companion scripting language, WMLScript) demands less memory and processing power from browsers than HTML and JavaScript. WML also includes features that tailor it for the relatively small display sizes of today's wireless devices. To be noted, WML and HTML differ in significant ways. Although WML strips some features from HTML and co-opts others, WML also incorporates some powerful programming constructs not found in HTML like variables, tasks, and events. WML implements a stricter tag syntax than HTML and includes a DTD for use with XML parsers. The following table compares WML and HTML
| WML | HTML |
| Markup language for wireless communication | Markup language for wired communication |
| Makes use of variables | Does not use variables |
| WML script stored in a separate file | Javascript is embeded in the same HTML file |
| Images stored as WBMP | Images are stored as GIF, JPEG or PNG |
| WBMP is a 2 bit image | Size of the images are much larger in HTML |
| Browsers used is micro browser | Browsers used are - Netscape navigator, IE, OPERA |
| Case sensitive | Not case sensitive |
| WML has fewer tags than HTML | HTML has more tags than WML |
| A set of 'WML Cards' make a 'DECK' | A set of 'HTML pages' make a 'SITE' |
Related protocols: HTML, XML, WAP
Reference: http://www.javvin.com/protocol/WML1999.pdf: Wireless Markup Language Specifications
