Wireless Markup Language
From Seo Wiki - Search Engine Optimization and Programming LanguagesXML, 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).
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. WML 2.0 was specified in 2001 , but has not been widely adopted. It was an attempt at bridging WML and XHTML Basic before the WAP 2.0 spec was finalized . 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 documents are XML documents that validate against the WML DTD (Document Type Definition) . 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"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml" > <wml> <card id="main" title="First Card"> <p mode="wrap">This is a sample WML page.</p> </card> </wml>
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.
WML decks are stored on an ordinary web server trivially 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.
It is an error and misconception to think of WML as a pinhole view of the Internet. The real power and value of WML is that it provides an interface for the phone hardware to initiate a call based on web content requested by user query. 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"> <p> <b>Call A Taxi:</b><br /> <a href="wtai://wp/mc;%2B19035551212">903-555-1212</a> </p> </card>
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.
Commentators have criticized several aspects of WML and WAP. Technical criticisms include:
- The idiosyncratic WML language, which cut users off from the "true" HTML Web, leaving only native WAP content and Web-to-WAP "proxified" content available to WAP users. However, others argue that technology at that stage would simply not have been able to give access to anything but custom-designed content which was the sole purpose of WAP and its simple, reduced complexity interface as the citizens of many nations are not connected to the web at the present time and have to use government funded and controlled portals to WAP and similar non-complex services.
- Under-specification of terminal requirements. The early WAP standards included many optional features and under-specified requirements, which meant that compliant devices would not necessarily interoperate properly. This resulted in great variability in the actual behavior of phones, principally because WAP-service implementers and mobile-phone manufacturers did not obtain a copy of the standards or the correct hardware and the standard software modules. As an example, some phone models would not accept a page more than 1 Kb in size; others would downright crash. The user interface of devices was also underspecified: as an example, accesskeys (e.g., the ability to press '4' to access directly the fourth link in a list) were variously implemented depending on phone models (sometimes with the accesskey number automatically displayed by the browser next to the link, sometimes without it, and sometimes accesskeys were not implemented at all).
- Constrained user interface capabilities. Terminals with small black-and-white screens and few buttons, like the early WAP terminals, face difficulties in presenting a lot of information to their user, which compounded the other problems: one would have had to be extra careful in designing the user interface on such a resource-constrained device which was the real concept of WAP.
- Lack of good authoring tools. The problems above might have succumbed in the face of a WML authoring tool that would have allowed content providers to easily publish content that would interoperate flawlessly with many models, adapting the pages presented to the User-Agent type. However, the development kits which existed did not provide such a general capability. Developing for the web was easy: with a text editor and a web browser, anybody could get started, thanks also to the forgiving nature of most desktop browser rendering engines. By contrast, the stringent requirements of the WML specifications, the variability in terminals, and the demands of testing on various wireless terminals, along with the lack of widely available desktop authoring and emulation tools, considerably lengthened the time required to complete most projects. As of 2009[update], however, with many mobile devices supporting xHTML, and programs such as Adobe Go Live and Dreamweaver offering improved web-authoring tools, it is becoming easier to create content, accessible by many new devices.
- No good user agent profiling tools. It quickly became nearly impossible for web hosts to determine if a request came from a mobile device, or from a larger more capable device. No useful profiling or database of device capabilities were built into the specifications in the unauthorized non-compliant products.
See: Criticism of WAP.
- Wireless Application Protocol Bitmap Format
- List of document markup languages
- Comparison of document markup languages
- XHTML Mobile Profile
- List of computer standards
- ↑ The HCI blog: A brief History of WAP
- ↑ WAP Forum: "Wireless Markup Language (WML) 2.0 Document Type Definition"
- ↑ Openwave Developer Network: "One quick note about WML 2.0"
- ↑ WAP Forum: "Wireless Markup Language (WML) 1.3 Document Type Definition"
- Technical Specifications at the WAP Forum
- History and introduction to WML
- W3Schools WAP Tutorial
- Mobile Design Resources
- XHTML-MP Authoring Practices
- DevGuru WML Quick Reference
- Tutorial For Making your First WAP Site
- Open Mobile Alliance
Template:Open Mobile Alliance standardsar:لغة رقم اللاسلكي cs:Wireless Markup Language de:Wireless Markup Language es:Wireless Markup Language eo:WML fr:Wireless Markup Language ko:WML is:Wireless Markup Language he:WML lt:WML hu:Wireless Markup Language nl:Wireless Markup Language ja:Wireless Markup Language pl:WML pt:WML ru:WML simple:Wireless Markup Language sk:Wireless Markup Language sl:Wireless Markup Language fi:WML sv:Wireless Markup Language uk:WML zh:WML