More Related Content
Similar to Survey of WML (20)
Survey of WML
- 2. Table of Contents
Introduction
Hello World
Introducing JSP
Exercises
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 5. Introduction
WTP (Wireless Transaction Protocol) & WDP
(Wireless Datagram Protocol) provide low-level glue
between the upper levels and the really low-level
communications.
WTLS (Wireless Transaction Layer Security) provides
security services (encryption and authentication).
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 6. Introduction
These protocols aren't relevant to normal
application programmers
The second highest level in the stack is the high-
level communications protocol, called WSP
(Wireless Session Protocol).
Provides a complete replacement for HTTP
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 7. Introduction
The highest stack level is WAE (Wireless
Application Environment)
This is the part that the user actually sees &
interacts
The WAE aims to provide a World Wide Web-like
model for writing applications
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 8. Introduction
The WAE incorporates several key features of the
Web that we are familiar with, e.g. URLs & MIME
content types (such as text/html and image/gif)
Additionally it provides similar replacements for
other features: HTML is replaced with WML
(Wireless Markup Language) & JavaScript is replaced
with WMLScript
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 9. Introduction
Almost all WAP applications can be written
without using anything outside of these two
languages and WBMP (Wireless Bitmap: the WAP
image format)
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 12. Hello World
We will use Eclipse to compose our WML and deploy
in the Tomcat ROOT folder
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 13. Hello World
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC
"-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="First WML Example">
<p>Hello, World!</p>
</card>
</wml>
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 14. Hello World
Note that all tag names are in lowercase
In WML, tag names are case-sensitive
A file of WML represents a deck of cards
This is the reason for the <card> tag
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 15. Hello World
Each individual card does behaves very much like an
HTML page
So you can think of a WML deck as being similar to a
number of HTML pages all grouped together
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 16. Hello World
Cards in a deck are all downloaded at the same time
So the user has to wait only once & the others can be
accessed almost instantly
Cramming too many cards into a single deck is bad
practice
Ideally maximum of 5 to 6 cards per deck
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 18. WML Structure Explained
Valid child tags of <wml> are:
<head>: Defines document metadata and access
control using the <meta> and <access> tags. Zero or
one <head> tags are allowed in a document.
<card>: Defines a card to display in the browser. One
or more <head> tags are allowed in a document.
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 19. WML Structure Explained
<template>: Defines global event handlers and
commands for the deck. Zero or one <template> tags
are allowed in a document.
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 20. WML Structure Explained
Valid child tags of <card> are:
<p>: Contains text, images, and links. Most user-
accessible and visible content in a WML card is child
content of this tag. Zero or more <p> tags are
allowed in a card.
<pre>: Contains preformatted text. Zero or more
<pre> tags are allowed in a card.
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 21. WML Structure Explained
<do>: Contains commands and actions. Zero or more
<do> tags are allowed in a card.
<timer>: Activates time-based events. Zero or one
<timer> tags are allowed in a card.
<onevent>: Specifies tasks based on different card-
level events. Zero or more <onevent> tags are
allowed in a card.
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 23. WML Structure Explained
Other topics in WML include: Special Characters,
Header & Metadata, Text Formatting, Links, Images,
Tables, Timers, Variables, User Input, WMLScript
Browse to http://learnthemobileweb.com/books
for links to WML references and helpful
documentation
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 25. Introducing JSP
WML can be mixed with JSP and Servlets
Save the following example as a .jsp not as a .wml
Deploy to servlet container (Tomcat)
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 26. Introducing JSP
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<%
response.setContentType("text/vnd.wap.wml;charset=UTF-8");
int num1 = 9;
int num2 = 12;
%>
<wml>
<card title="First WML Example">
<p>My name is <% out.println("Michael"); %></p>
<p>The sum of num1 and num2 is <%= (num1+num2) %></p>
</card>
</wml>
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 28. Exercises
Spot the errors in the following sample:
<wml>
<card ID=start title='Example of Invalid WML'>
<P>This markup is invalid.
</card>
</wml>
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 29. Exercises
The WML code sample above has the following syntax
errors:
XML declaration is missing.
DOCTYPE declaration is missing.
ID attribute of <card> tag is uppercase. (Well-formed
WML requires lowercase tags.)
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 30. Exercises
Value of the id attribute of the <card> is not
delimited.
Value of the title attribute of the <card> tag is
delimited with single quotes.
<p> tag is uppercase. (Well-formed WML requires
lowercase tags.)
<p> tag has an open tag but not matching close tag.
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 31. Exercises
Correct version is as follows:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML
1.3//EN"
"http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<card id="start" title="Example of Valid WML">
<p>This markup is valid.</p>
</card>
</wml>
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.
- 32. Exercises
Write a WML file that shows the first 7 digits of the
Fibonacci Series. Can use JSP and/or servlets.
Copyright © Tawi Commercial Services Ltd. 2015. All Rights
Reserved.