Wireless Markup Language(WML) Topics Introduction Constraints Supporting Documentation Main Functions Deck/Cards Design WML Elements Client - Server Access Conclusions Application WML Web-site Introduction WML was formed to create the global wireless protocol specification that works across differing wireless network technology types, for adoption by appropriate industry standards bodies. Introduction Based on XML. Developed by the WAP forum. WML provides a schema for describing data so that it can be viewed on (WAP capable) Mobile phones and Personal Digital Assistants. WAP Forum The WAP Forum is the industry association comprising of hundreds of members. De-facto world standard for wireless information and telephony services. Digital mobile phones and other wireless terminals. WML Constraints Small display. Limited user input facilities. Narrowband network connection. Limited memory and computational resources. Documentation WML specification describes WML, including its semantics, its [XML] document type definition (DTD) and its encoding extensions. WML Script specification describes the scripting language, WML Script, including its lexical and syntactic grammar, its transfer format and a reference byte code interpreter. WML Script Standard Libraries describes standard library programs including a language library, a string library, a dialog library, a floating-point library, a browser library and a URL library. Main Functions Text presentation and layout. Deck/Card organizational metaphor - all information in WML is organized into a collection of cards and decks. Inter-card navigation and linking - WML includes support for explicitly managing the navigation between cards and decks. String parameterization and state management all WML decks can be parameterized, using a state model. Decks/Cards Deck: A single WML document (i.e. the elements contained within the <wml> document element) is known as a deck. Card: A single interaction between a user agent and a user is known as a card. Features Multiple screens can be downloaded to the client in a single retrieval. User selections or entries can be handled and routed to already loaded cards. Eliminates excessive transactions with remote servers. Multiple cards can be split-up into multiple decks. (flexibility for memory constraints) WML Elements Document Element: <code><wml></code> Deck/Card Elements: wml, card, template, head, access, meta Event Elements: do, ontimer, onenterforward, onenterbackward, onpick, onevent, postfield, WML Elements Tasks: go, prev, refresh, noop Variables: setvar User input: input, select, option, optgroup, fieldset. Anchors, Images, and Timers: a, anchor, img, timer. Text Formatting: b, p, table, tr, td. Element Syntax <element> element value </element> Login 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="Login" title="Login"> <do type="accept" label="Password"> <go href="#Password"/> </do> <p> UserName: <select name="name" title="Name:"> <option value="John Doe">John Doe</option> <option value="Paul Smith">Paul Smith</option> <option value="Joe Dean">Joe Dean</option> <option value="Bill Todd">Bill Todd</option> </select> </p> </card> <card id="Password" title="Password:"> <do type="accept" label="Results"> <go href="#Results"/> </do> <p> Password: <input type="text" name="password"/> </p> </card> <card id="Results" title="Results:"> <p> You entered:<br/> Name: $(name)<br/> Password: $(password)<br/> </p> </card> </wml> Calling Server Script Dynamically connect to remote servers opens up every WAP device to the world of Internet messaging, enterprise data, and e-commerce. WAP gateway. Popular server scripting tools: Java Servlets, JavaScript, ASP, or Perl. <go href="http://127.0.0.1/WML/Inventory.asp" method="post"><postfield name="Items" value="$(Items)"/> </go> Conclusions Entirely new, exciting platform on which to deploy applications. Tradeoffs and challenges: server roundtrips, bandwidth, and display sizes. WAP opens the door to a new era in application development and deployment. HTML to WML Server Side Client Side Proxy Server WML Gateway HTML Conversion V1 V2 Rearrange V3 User profile Device profile End User WML Web-Sites http://www.oasis-open.org/cover/wapwml.html http://www.wapforum.org/docs/copyright.h tm http://www.wirelessdevnet.com/channels/w ap/training/wml.html