SlideShare a Scribd company logo
1 of 27
Wireless Markup Language
WML Script
Prepared by Subhashinisundaram
Wireless Markup Language
Wireless Markup Language
The wireless markup language (WML) (WAP Forum) is based on the standard
HTML known from the www and on HDML
– Ericsson, Motorola, Nokia, Unwired Planet (phone.com)
– bring Internet to cellular phone users
– re-use fundamental Internet concepts (TCP/IP, http, html, JavaScript)
but adapted to lower bandwidth
smaller screen
limited input facilities
limited computational resources
Wireless Markup Language
WML follows a deck and card metaphor.
A WML document is made up of multiple cards.
Cards can be grouped together into a deck.
A WML deck is similar to an HTML page.
in that it is identified by a URL is the unit of content transmission.
A user navigates with the WML browser through a series of WML cards,etc
Wireless Markup Language
The user agent on a handheld device has to decide how to best present all elements of a card.
This presentation depends much on the capabilities of the device.
Wireless Markup Language
WML basic features
Text and images:
 Text and images can be presented to a user.
 The exact presentation of data to a user is up to the user agent running on the handheld device.
 WML only provides a set of mark-up elements, such as emphasis elements (bold, italic, etc.) for text,
or tab columns for tabbing alignment.
Wireless Markup Language
WML basic features
User interaction
WML supports different elements for user input.
Examples are: text entry controls for text or password entry, option selections or controls for task
invocation.
Again, the user agent is free to choose how these inputs are implemented. They could be bound to, e.g.,
physical keys, soft keys, or voice input.
Wireless Markup Language
WML basic features
Navigation
WML offers a history mechanism with navigation through the browsing history, hyperlinks
and other intercard navigation elements.
Context management
WML allows for saving the state between different decks without server interaction, i.e.,
state can be shared across different decks. Cards can have parameters defined by using
this state without access to the server over the narrow-band wireless channel.
Wireless Markup Language
Other Features
Actions (OK, navigation, help) can be performed
Hyperlinks (like in HTML)
String variables
Timers
wbmp images (B&W)
Select boxes, forms (for input)
wmlscript (like javascript)
WML structure
< ? xml version=“1.0” ? >
<!DOCTYPE wml …>
<wml>
<card>
<p>
text
</p>
<p>
text
</p>
</card>
<card>
...
</card>
</wml>
WML Elements
<p> </p> text
<a href=...> </a> hyperlink (anchor)
<do> </do> action
<go href=.../> goto wml page
<timer> trigger event (units = tenths of a second)
<input/> input user text
<prev/> return to previous page
$(…) value of variable
<img src=… /> display image
<postfield name=… value=…/> set variable
<select > <option> <option> </select> select box
WML Elements
<?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="card_one" title="Simple example">
<do type="accept">
<go href="#card_two"/>
</do>
<p> This is a simple first card! <br/> On the next one you can choose ... </p>
</card>
WML Elements
<card id="card_two" title="Pizza selection">
<do type="accept" label="cont">
<go href="#card_three"/>
</do>
<p> ... your favourite pizza!
<select value="Mar" name="PIZZA">
<option value="Mar">Margherita</option>
<option value="Fun">Funghi</option>
<option value="Vul">Vulcano</option>
</select>
</p>
</card>
WML Elements
<card id="card_three" title="Your Pizza!">
<p>
Your personal pizza parameter is <b>$(PIZZA)</b>!
</p>
</card>
</wml>
WML encoding
WML may be encoded using a compact binary representation to save bandwidth on the wireless link.
The compact format allows for transmission without loss of functionality or of semantic information.
Example:
URL prefix href=_http://, which is very common in URLs, will be coded as 4B.
The code for the select keyword is 37 and option is 35.
These single byte codes are much more efficient than the plain ASCII text used in HTML and today’s
www.
WML Script
WML Script
WMLScript complements to WML and provides a general scripting capability in the WAP
architecture.
WMLScript offers several capabilities not supported by WML:
Validity check of user input:
before user input is sent to a server, WMLScript can check the validity and save bandwidth and
latency in case of an error.
WML Script
Access to device facilities:
WMLScript offers functions to access hardware components and software functions of the device.
On a phone a user could,
e.g., make a phone call, access the address book, or send a message via the message service of
the mobile phone.
WML Script
Local user interaction:
WMLScript can directly and locally interact with a user, show messages or prompt for input. Only,
for example the result of several interactions could be transmitted to a server.
Extensions to the device software:
With the help of WMLScript a device can be configured and new functionality can be added even
after deployment. Users can download new software from vendors and, thus, upgrade their device
easily.
WML Script
Local user interaction:
Without introducing round-trip delays, WMLScript can directly and locally interact with a user,
show messages or prompt for input. Only, for example the result of several interactions could be
transmitted to a server.
Extensions to the device software: With the help of WMLScript a device
can be configured and new functionality can be added even after deployment.
Users can download new software from vendors and, thus, upgrade
their device easily.
WML Script
WML Script bytecode interpreter and an efficient over-the-air transport via a space efficient
bytecode.
A WMLScript compiler is used to generate this bytecode.
WMLScript is event-based.
WMLScript also has full access to the state model of WML, i.e., WMLScript can set and read WML
variables.
WML Script Example
function pizza_test(pizza_type)
{
var taste = "unknown";
if (pizza_type = "Mar")
{
taste = "well... ";
}
else
{
if (pizza_type = "Vul")
{
taste = "quite hot";
};
};
return taste;
};
WML Script
The WMLScript compiler can compile one or more such scripts into a WMLScript compilation
unit.
A handheld wireless device can now fetch such a compilation unit using standard protocols with
HTTP
http://www.xyz.int/myscr, a user could call the script and pass the parameter "Vul" via
http://www.xyz.int/myscr#pizza_test("Vul").
WML standard libraries
Lang:
Examples are isInt to check if a value could be converted into an integer or
float to check if floating-point operations are supported.
Float:
Many typical arithmetic floating-point operations are in this library
Example functions are round of & sqrt
String
Many string manipulation functions are in this library.
Examples length of a string, substring to return a substring of a given string. find a substring
within
a string or squeeze to replace several consecutive whitespaces with only one.
WML standard libraries
URL:
syntax
<scheme>://<host>:<port>/<path>;<parameters>?<query>#<fragment>
for example: http://www.xyz.int:8080/mypages;5;2?j=2&p=1#crd.
WMLBrowser:
prev to go back one card or refresh to update the context of the user interface.
WML standard libraries
Dialogs:
For interaction with a user, this library has been defined.
An example function is prompt which displays a given message and prompts for user input.
An additional library is the WMLScript Crypto Library
Provides security functions provided by WTLS. The required keys can be stored on the
wireless identity module (WIM) which could be part of the mobile phone’s SIM
END

More Related Content

What's hot

Abstract data types
Abstract data typesAbstract data types
Abstract data types
Tony Nguyen
 
Mobile Communication Broadcast System Jochen Schiller
Mobile Communication Broadcast System Jochen SchillerMobile Communication Broadcast System Jochen Schiller
Mobile Communication Broadcast System Jochen Schiller
Sonali Chauhan
 

What's hot (20)

WML Script by Shanti katta
WML Script by Shanti kattaWML Script by Shanti katta
WML Script by Shanti katta
 
ASYNCHRONOUS TRANSFER MODE (ATM)
ASYNCHRONOUS TRANSFER MODE (ATM)ASYNCHRONOUS TRANSFER MODE (ATM)
ASYNCHRONOUS TRANSFER MODE (ATM)
 
Mobile Network Layer
Mobile Network LayerMobile Network Layer
Mobile Network Layer
 
CS8601 MOBILE COMPUTING
CS8601	MOBILE COMPUTING CS8601	MOBILE COMPUTING
CS8601 MOBILE COMPUTING
 
Hiperlan
HiperlanHiperlan
Hiperlan
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
 
IEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and ServicesIEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and Services
 
WIRELESS TRANSMISSION
WIRELESS TRANSMISSIONWIRELESS TRANSMISSION
WIRELESS TRANSMISSION
 
Gprs architecture ppt
Gprs architecture pptGprs architecture ppt
Gprs architecture ppt
 
MEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROLMEDIUM ACCESS CONTROL
MEDIUM ACCESS CONTROL
 
Mobile Computing-Unit-V-Mobile Platforms and Applications
Mobile Computing-Unit-V-Mobile Platforms and ApplicationsMobile Computing-Unit-V-Mobile Platforms and Applications
Mobile Computing-Unit-V-Mobile Platforms and Applications
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11
 
User datagram protocol (udp)
User datagram protocol (udp)User datagram protocol (udp)
User datagram protocol (udp)
 
Mobile Communication Broadcast System Jochen Schiller
Mobile Communication Broadcast System Jochen SchillerMobile Communication Broadcast System Jochen Schiller
Mobile Communication Broadcast System Jochen Schiller
 
Circuit Switching, Packet Switching, Virtual Circuit Networks and Datagram Ne...
Circuit Switching, Packet Switching, Virtual Circuit Networks and Datagram Ne...Circuit Switching, Packet Switching, Virtual Circuit Networks and Datagram Ne...
Circuit Switching, Packet Switching, Virtual Circuit Networks and Datagram Ne...
 
GSM - (CHARACTERISITCS, FEATURES & ADVANTAGES AND DISADVANTAGES)
GSM - (CHARACTERISITCS, FEATURES & ADVANTAGES AND DISADVANTAGES)GSM - (CHARACTERISITCS, FEATURES & ADVANTAGES AND DISADVANTAGES)
GSM - (CHARACTERISITCS, FEATURES & ADVANTAGES AND DISADVANTAGES)
 
Mobile Computing (Part-1)
Mobile Computing (Part-1)Mobile Computing (Part-1)
Mobile Computing (Part-1)
 
HiperLAN.ppt
HiperLAN.pptHiperLAN.ppt
HiperLAN.ppt
 
Mobile computing notes and material
Mobile computing notes and materialMobile computing notes and material
Mobile computing notes and material
 

Viewers also liked

Wireless & Mobile Lecture # 18
Wireless & Mobile Lecture # 18Wireless & Mobile Lecture # 18
Wireless & Mobile Lecture # 18
Bit Hacker
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
RamyaRavi26
 
B spline surfeces
B spline surfecesB spline surfeces
B spline surfeces
ramac123
 
Virtual Network Computing
Virtual Network ComputingVirtual Network Computing
Virtual Network Computing
rojalina nanda
 

Viewers also liked (20)

ITFT_Wireless markup language
ITFT_Wireless markup languageITFT_Wireless markup language
ITFT_Wireless markup language
 
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEEXML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
 
Bt0087 wml and wap programing2
Bt0087 wml and wap programing2Bt0087 wml and wap programing2
Bt0087 wml and wap programing2
 
Hiperlan
HiperlanHiperlan
Hiperlan
 
Introduction to Mobile Internet
Introduction to Mobile InternetIntroduction to Mobile Internet
Introduction to Mobile Internet
 
Manika
ManikaManika
Manika
 
Mobile Internet Standards
Mobile Internet StandardsMobile Internet Standards
Mobile Internet Standards
 
Wireless & Mobile Lecture # 18
Wireless & Mobile Lecture # 18Wireless & Mobile Lecture # 18
Wireless & Mobile Lecture # 18
 
Lect4
Lect4Lect4
Lect4
 
Wap wml
Wap wmlWap wml
Wap wml
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
 
B spline surfeces
B spline surfecesB spline surfeces
B spline surfeces
 
Virtual Network Computing
Virtual Network ComputingVirtual Network Computing
Virtual Network Computing
 
Wireless Application Protocol WAP by Alvinen
Wireless Application Protocol WAP by AlvinenWireless Application Protocol WAP by Alvinen
Wireless Application Protocol WAP by Alvinen
 
Bezier curve computer graphics
Bezier curve computer graphicsBezier curve computer graphics
Bezier curve computer graphics
 
Types of projections
Types of projectionsTypes of projections
Types of projections
 
Face morphing
Face morphingFace morphing
Face morphing
 
Mobile Communication
Mobile CommunicationMobile Communication
Mobile Communication
 
B spline
B splineB spline
B spline
 
Wireless application protocol wap
Wireless application protocol   wapWireless application protocol   wap
Wireless application protocol wap
 

Similar to Wireless Markup Language,wml,mobile computing

FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptxFALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
BARATHSHARMA
 
Wireless Application Protocol (by Mintoo Jakhmola)
Wireless Application Protocol (by Mintoo Jakhmola)Wireless Application Protocol (by Mintoo Jakhmola)
Wireless Application Protocol (by Mintoo Jakhmola)
Mintoo Jakhmola
 

Similar to Wireless Markup Language,wml,mobile computing (20)

Wap architecture and wml script
Wap architecture and wml scriptWap architecture and wml script
Wap architecture and wml script
 
Wireless Application Protocol
Wireless Application ProtocolWireless Application Protocol
Wireless Application Protocol
 
Wireless application protocol
Wireless application protocolWireless application protocol
Wireless application protocol
 
112321 112333 wirless application protocol
112321 112333 wirless application protocol112321 112333 wirless application protocol
112321 112333 wirless application protocol
 
Wap
WapWap
Wap
 
Wireless Application Protocol ppt
Wireless Application Protocol pptWireless Application Protocol ppt
Wireless Application Protocol ppt
 
Wireless languages and content generation technologies
Wireless languages and content generation technologiesWireless languages and content generation technologies
Wireless languages and content generation technologies
 
Lecture16
Lecture16Lecture16
Lecture16
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
 
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
WAP, HTTP and HTML5 Web Socket Architecture Analysis in Contemporary Mobile A...
 
WAP Technology
WAP TechnologyWAP Technology
WAP Technology
 
Wap ppt
Wap pptWap ppt
Wap ppt
 
Wap ppt
Wap pptWap ppt
Wap ppt
 
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptxFALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
FALLSEM2023-24_ITA1008_TH_VL2023240102332_2023-09-21_Reference-Material-I.pptx
 
Banking system-رويال كلاس للبحوث الأكاديمية
Banking system-رويال كلاس للبحوث الأكاديمية Banking system-رويال كلاس للبحوث الأكاديمية
Banking system-رويال كلاس للبحوث الأكاديمية
 
Wireless Application Protocol (by Mintoo Jakhmola)
Wireless Application Protocol (by Mintoo Jakhmola)Wireless Application Protocol (by Mintoo Jakhmola)
Wireless Application Protocol (by Mintoo Jakhmola)
 
WAP- Mobile Personal Assistant Application
WAP- Mobile Personal Assistant ApplicationWAP- Mobile Personal Assistant Application
WAP- Mobile Personal Assistant Application
 
Wap
WapWap
Wap
 
WAP
WAPWAP
WAP
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Wireless Markup Language,wml,mobile computing

  • 1. Wireless Markup Language WML Script Prepared by Subhashinisundaram
  • 3. Wireless Markup Language The wireless markup language (WML) (WAP Forum) is based on the standard HTML known from the www and on HDML – Ericsson, Motorola, Nokia, Unwired Planet (phone.com) – bring Internet to cellular phone users – re-use fundamental Internet concepts (TCP/IP, http, html, JavaScript) but adapted to lower bandwidth smaller screen limited input facilities limited computational resources
  • 4. Wireless Markup Language WML follows a deck and card metaphor. A WML document is made up of multiple cards. Cards can be grouped together into a deck. A WML deck is similar to an HTML page. in that it is identified by a URL is the unit of content transmission. A user navigates with the WML browser through a series of WML cards,etc
  • 5. Wireless Markup Language The user agent on a handheld device has to decide how to best present all elements of a card. This presentation depends much on the capabilities of the device.
  • 6. Wireless Markup Language WML basic features Text and images:  Text and images can be presented to a user.  The exact presentation of data to a user is up to the user agent running on the handheld device.  WML only provides a set of mark-up elements, such as emphasis elements (bold, italic, etc.) for text, or tab columns for tabbing alignment.
  • 7. Wireless Markup Language WML basic features User interaction WML supports different elements for user input. Examples are: text entry controls for text or password entry, option selections or controls for task invocation. Again, the user agent is free to choose how these inputs are implemented. They could be bound to, e.g., physical keys, soft keys, or voice input.
  • 8. Wireless Markup Language WML basic features Navigation WML offers a history mechanism with navigation through the browsing history, hyperlinks and other intercard navigation elements. Context management WML allows for saving the state between different decks without server interaction, i.e., state can be shared across different decks. Cards can have parameters defined by using this state without access to the server over the narrow-band wireless channel.
  • 9. Wireless Markup Language Other Features Actions (OK, navigation, help) can be performed Hyperlinks (like in HTML) String variables Timers wbmp images (B&W) Select boxes, forms (for input) wmlscript (like javascript)
  • 10. WML structure < ? xml version=“1.0” ? > <!DOCTYPE wml …> <wml> <card> <p> text </p> <p> text </p> </card> <card> ... </card> </wml>
  • 11. WML Elements <p> </p> text <a href=...> </a> hyperlink (anchor) <do> </do> action <go href=.../> goto wml page <timer> trigger event (units = tenths of a second) <input/> input user text <prev/> return to previous page $(…) value of variable <img src=… /> display image <postfield name=… value=…/> set variable <select > <option> <option> </select> select box
  • 12. WML Elements <?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="card_one" title="Simple example"> <do type="accept"> <go href="#card_two"/> </do> <p> This is a simple first card! <br/> On the next one you can choose ... </p> </card>
  • 13. WML Elements <card id="card_two" title="Pizza selection"> <do type="accept" label="cont"> <go href="#card_three"/> </do> <p> ... your favourite pizza! <select value="Mar" name="PIZZA"> <option value="Mar">Margherita</option> <option value="Fun">Funghi</option> <option value="Vul">Vulcano</option> </select> </p> </card>
  • 14. WML Elements <card id="card_three" title="Your Pizza!"> <p> Your personal pizza parameter is <b>$(PIZZA)</b>! </p> </card> </wml>
  • 15. WML encoding WML may be encoded using a compact binary representation to save bandwidth on the wireless link. The compact format allows for transmission without loss of functionality or of semantic information. Example: URL prefix href=_http://, which is very common in URLs, will be coded as 4B. The code for the select keyword is 37 and option is 35. These single byte codes are much more efficient than the plain ASCII text used in HTML and today’s www.
  • 17. WML Script WMLScript complements to WML and provides a general scripting capability in the WAP architecture. WMLScript offers several capabilities not supported by WML: Validity check of user input: before user input is sent to a server, WMLScript can check the validity and save bandwidth and latency in case of an error.
  • 18. WML Script Access to device facilities: WMLScript offers functions to access hardware components and software functions of the device. On a phone a user could, e.g., make a phone call, access the address book, or send a message via the message service of the mobile phone.
  • 19. WML Script Local user interaction: WMLScript can directly and locally interact with a user, show messages or prompt for input. Only, for example the result of several interactions could be transmitted to a server. Extensions to the device software: With the help of WMLScript a device can be configured and new functionality can be added even after deployment. Users can download new software from vendors and, thus, upgrade their device easily.
  • 20. WML Script Local user interaction: Without introducing round-trip delays, WMLScript can directly and locally interact with a user, show messages or prompt for input. Only, for example the result of several interactions could be transmitted to a server. Extensions to the device software: With the help of WMLScript a device can be configured and new functionality can be added even after deployment. Users can download new software from vendors and, thus, upgrade their device easily.
  • 21. WML Script WML Script bytecode interpreter and an efficient over-the-air transport via a space efficient bytecode. A WMLScript compiler is used to generate this bytecode. WMLScript is event-based. WMLScript also has full access to the state model of WML, i.e., WMLScript can set and read WML variables.
  • 22. WML Script Example function pizza_test(pizza_type) { var taste = "unknown"; if (pizza_type = "Mar") { taste = "well... "; } else { if (pizza_type = "Vul") { taste = "quite hot"; }; }; return taste; };
  • 23. WML Script The WMLScript compiler can compile one or more such scripts into a WMLScript compilation unit. A handheld wireless device can now fetch such a compilation unit using standard protocols with HTTP http://www.xyz.int/myscr, a user could call the script and pass the parameter "Vul" via http://www.xyz.int/myscr#pizza_test("Vul").
  • 24. WML standard libraries Lang: Examples are isInt to check if a value could be converted into an integer or float to check if floating-point operations are supported. Float: Many typical arithmetic floating-point operations are in this library Example functions are round of & sqrt String Many string manipulation functions are in this library. Examples length of a string, substring to return a substring of a given string. find a substring within a string or squeeze to replace several consecutive whitespaces with only one.
  • 25. WML standard libraries URL: syntax <scheme>://<host>:<port>/<path>;<parameters>?<query>#<fragment> for example: http://www.xyz.int:8080/mypages;5;2?j=2&p=1#crd. WMLBrowser: prev to go back one card or refresh to update the context of the user interface.
  • 26. WML standard libraries Dialogs: For interaction with a user, this library has been defined. An example function is prompt which displays a given message and prompts for user input. An additional library is the WMLScript Crypto Library Provides security functions provided by WTLS. The required keys can be stored on the wireless identity module (WIM) which could be part of the mobile phone’s SIM
  • 27. END