WML - San Jose State University

advertisement
WML PROGRAMMING
TUTORIAL PART - 1
Bharghavi Shree
Mansi Modak
&
Lahary Ravuri
Guided By
Dr. Jerry Gao
Introduction
•
What WML is about and how to use it within the WAP
applications
•
Similarities and differences between WML and other
markup languages
•
WML terminology
•
WML structure and syntax
What is WML?
•
Optimized for small screens and limited size memory.
• HTML type formatting language,defined as XML
document type.
• Uses card and deck metaphor while creating documents.
• Has a built in hierarchy that allows individual document to
work both in a mobile phone and a handheld computer.
• Current version is 1.1
Differences between WML and other
markup languages
•
Original ASCII based WML code is converted to binary
code in the gateway server, before being forwarded to
WAP device.
•
The option of passing parameters using card and deck
variables.
Structure of WML documentcont.
WML Terminology
In WAP development, a screen is known as a card. A collection of cards is
known as a deck.
WML Decks
•
Smallest unit that a server can send to a browser program.
•
Delivers more than one card to a WAP device at one time.
•
Users can then navigate small portions of the WML enabled applications
without waiting for each individual navigation action.
WML Cards
•
Provide the structure of a WAP application.
•
Define how information displays on a device and how the user can navigate
through an application.
•
Because of this responsibility, a WML card can never be empty. WML cards
must contain at least one WML element.
Structure of a WML document –
cont.
WML document prologue
1.
2.
3.
<?xml version=”1.0>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML
1.1//EN”
“http://www.wapforum.org/DTD/wml_1.1.xml”>
Every WML deck you write must contain a document prologue.
Compilers on the device, WAP gateways, and remote servers all use
document prologues to interpret your code.
Be aware of the use of spaces in the document prologue. A WML
deck produces errors if the document prologue does not include
correct use of spacing and punctuation.
Line-by-line explanation of the
document prologue
1.
<?xml version=”1.0>
•
Designates the XML version of the WAP server and WML compiler.
WAP servers and WML compilers use XML to interpret your code
compilers and then transform this to WML.
WAP device can display the information.
•
•
2.
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML
1.1//EN”
The second line defines the version of WML used.
3.
“http://www.wapforum.org/DTD/wml_1.1.xml”>
This is XML-specified Document Type Definition.
Structure of a WML document –
cont.
•
•
•
•
•
WML is Case-Sensitive.
WML supports the character set of ISO-10646 (Unicode 2.0).
Contains symbols that require start and end tag.
<wml>
…
</wml>
To add variables to a card or deck : $identifier
$(identifier)
Supports both Alphanumeric and Numeric character entities.
Symbol
Alphanumeric
Numeric
<
&lt
&#60
Structure of a WML Document –
cont.
•
•
•
•
•
Structure of a ‘comment’.
<!-- …………-- >
Two core attributes:
1. id :- Allocates an individual name to elements inside a
deck.
2. Class :- links elements to one or several groups.
<wml>….</wml> command.
<card>….</card> command.
Its attributes :id :- gives special identity to a card in a deck.
title :- displays a title on a title bar of the browser.
newcontext :- can be either TRUE or FALSE.
The use of the card element and
its attributes
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<!-- wml CARD BEGINS WITH CARD COMMAND: -->
<card id="mycard" title="first" newcontext="true">
<p>
HELLO!
</p>
<!-- WML card ends: -->
</card>
</wml>
The above example will show
you this on display
WML-Text Formatting
• Creating paragraphs with the p element
• Align and mode options in the p element
• Line Breaks
• Displaying Special Characters
• Text Styles
Creating Paragraphs with the p
Element
•
•
•
•
•
The p element is an important aspect of WAP development.
The p element uses two attributes.
align - Specifies the line alignment relative to the display area.
mode - Specifies whether the display should automatically wrap or
split text so that it is always viewable from the display.
Wrapping spills extra text onto subsequent lines in the display.
Scrolling the line from left to right is not necessary.
Once you specify a mode, it applies to all subsequent lines until you
reset it
Setting Line Wrap Mode
1. <?xml version="1.0"?>
2. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
3. "http://www.wapforum.org/DTD/wml_1.1.xml">
4. <wml>
5.
<card id=“para" title=“mode and align">
6.
<p>Welcome to WML Programming tutorial part1 </p>
7.
<p mode="nowrap">
8.
This text will not wrap hence requires scrolling
9.
</p>
10.
</card>
11. </wml>
Expected Output
Setting Text Alignment
1. <?xml version = "1.0"?>
2. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
3. "http://www.wapforum.org//DTD/wml_1.1.xml">
4. <wml>
5. <card id="align" title="Align">
6.
<p > Line 1 uses the default left alignment </p>
7.
<p align="center" > Line 2 uses the center alignment </p>
8.
<p align="right" > Line 3 uses the right alignment </p>
9. </card>
10. </wml>
Expected Output
Incorporating Line Breaks with br
Element
• The br element forces the insertion of line breaks into the
text.
• It contains no attributes.
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?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=”break” title=”Break”>
<p>Welcome to San Jose State University <br/>
This will be on a new line </p>
</card>
</wml>
Expected Output
Displaying Special Characters
•WML reserves the <, >, ', ", and & characters.
To display one of these characters in formatted text, you must
specify one of the following character elements.
Character
>
<
‘
“
&
$
Nonbreaking space
Soft Hyphen
Element
>
<
'
"
&
$$;
 
­
Incorporating Text Styles
• WML offers a number of elements that enable you to define the font
style like bold, italic, and underline effects to your text.
Element
B
BIG
EM
I
SMALL
STRONG
U
Description
Creates a bold font
Creates a big font
Creates emphasis on the
font
Creates italicized text
Creates a small font
Creates a strong
emphasis on the font
Syntax
<b> content </b>
<big> content </big>
<em> content </em>
<i> content </i>
<small> content </small
<strong>content</strong>
Creates an underlined text <u> content </u>
Incorporating Text Styles-cont.
1.<?xml
version = “1.0”?>
2. <!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN”
3. “http://www.wapforum.org//DTD/wml_1.1.xml”>
4. <wml>
5. <card id=”style” title=”Styles”>
6. <p>
7.
Regular font style <br/>
8.
<b> Bold font style </b><br/>
9.
<big> Big font style </big><br/>
10.
<em> Emphasize font style </em><br/>
11.
<i> Italicized text </i><br/>
12.
<small> Small font style </small><br/>
13.
<strong> Strong font style </strong><br/>
14.
<u> Underlined font style </u><br/>
15. </p>
16. </card>
17. </wml>
Expected Output
Working with Images
• Bandwidth
• Screen size
• The Wireless Bitmap Format
• The IMG Element
• Creating an Application with the WBMP format
Bandwidth
•
•
•
•
•
WAP device bandwidth is expressed in bits per second
(bps).
The average bandwidth for wireless devices in the United
States is
around 9600 KBps.
Transferring data to WAP devices is slower than
transferring data to PCs.
Data transferred to wireless devices should be small – text
data being the smallest and easiest type of data to transfer.
If you do decide that images are right for your application
and you have determined that they won’t affect application
efficiency, its time to consider the second factor of images:
screen size.
Screen Size
• Most WAP devices allow only 4 to 10 lines of text to
display without scrolling. Ideally, users should need to
scroll as little as possible.
• Wireless applications and WML do not yet provide the
functionality to set image sizes, although the
specifications have been set in the language.
A good rule of thumb for your images is 96 x 14
metrics on a WAP phone. However, if you are
developing WAP applications for other types of WAP
devices, the size and shape of your images might differ.
The Wireless Bitmap Format
(WBMP)
•
•
•
•
Wireless bitmap format is the only graphical format
supported by wireless devices.
To create (or convert) an image into the WMBP format, an
image conversion tool is required.
The conversion of any graphical format is made possible by
a process called dithering.
With image conversion desktop tools, you must first
download the software from the Internet.
Examples of desktop image conversion programs are:
Image Magick (http://www.imagemagick.org )
WAPDraw (http://www.hit-solutions.fi/wapdraw/)
WAPPictus (http://www.checkit.cz/engl)
Wap Tiger (http://wap.infotiger.de/download.html)
Online Image Converters
•
•
•
•
Online converters are web pages that enable you to select an image from your
computer.
The web page then converts the image into a WBMP format, allowing you to
save this new format wherever you want.
Advantage: The software isn’t required for installation onto your PC.
Disadvantage: You must be online to use these tools.
Examples of online image converters:



Applepie Online Image Converter (http://www.applepiesolutions.com)
Dwbmp (http://www.morpheme.co.uk)
WAP Tiger Online Converter (http://www.waptiger.de/bmp2wbmp/
Image Plug-ins
• Image plug-ins are additional pieces of software added to a
larger software product.
• They add image conversion functionality for the WBMP
format.
• Examples of image conversion plug-ins:
• Photoshop and/or paintshop plug-ins (for Windows)
(http://www.rcp.co.uk)
• Photoshop plug-ins (for Macintosh)
(http://www.creationflux.com)
•
Image conversion plug-ins requires a base software such as
Photoshop on your machine.
The IMG Element
Has several attributes that are used to display images on a WAP device.
Attribute
Req.
Description
align
no
Represents where the image is aligned. The available entries are
top, middle, and bottom.
alt
yes
Specifies the text that displays if the device has a problem
displaying the image.
ht
no
Represents a height setting for the image. Several devices do not
support this attribute.
hspace
no
Represents the amount of empty space to the left or right of the
image. The default setting for this attribute is 0.
localsrc
no
Represents the name of a known icon that exits within the device’s
browser. If a localsrc icon is used, users must include the localsrc
attribute in their code.
src
yes
Specifies the URL of the image displayed.
vspace
no
Represents the amount of empty space above or below the image.
Several devices do not support this attribute.
width
no
Represents width setting for the image. Several images do not
support this attribute.
Creating an Application with the WBMP
format
Creating a Logo Image
You can perform the following steps to create a logo in the BMP format:
1.Go to the Start menu, and select Start, Programs, Accessories,
Paint. The Microsoft Paint program executes.
2.After Microsoft Paint is open, create a logo that you want.
3.Save the image. Be sure the image file type is set to some sort of
BMP format. You should try to save the BMP as a 16-color bitmap,
a 256-color bitmap, or a 24-bit bitmap for good resolution.
Converting the Image into a WBMP Format
We have chosen to use the wbmp converter from Applepie
Solutions.The following are the steps for converting an online gif to
the wmbp format. You can choose to use any logo you have on your
desktop or any other .gif file or .bmp. We have chosen to use the
SJSU logo.
1.Go to: http://www.applepiesolutions.com/image2.wbmp/
2.Enter URL for image as
http://www.sjsu.edu/graphics/sjsu_100.gif
3.Save the wbmp file in htdocs folder.
Creating an Application with a
WBMP – cont.
Creating a title page (also known in the development world as a splash page).
1. <?xml version = "1.0"?>
2. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
3. "http://www.wapforum.org//DTD/wml_1.1.xml">
4. <wml>
5. <card id="title" title="title">
6.
<p align="center"> Tutorial part-1
7.
<img src="sjsu.wbmp" alt="sjsu.wbmp" />
8.
</p>
9. </card>
10. </wml>
The above example will show
you this on the display
References
•
•
•
•
•
Deitel, Deitel, Neito ,and Steinbuhler,
Wireless Internet and Mobile Business-How to
Program, Prentice Hall, 2002.
LinuxMAX 2000,
http://www.linuxmax.net/news/00133.html
OpenWave Systems , December 2000,
http://developer.openwave.com/htmldoc/41/devg
uide/index.html
Pekka,Nishkanen, Inside WAP Programming
Applications with WML and WML Script,
Addison-Wesley, November 2000.
Tull,Chris,WAP 2.0 Development, QUE , Indiana,
2002.
Download