The Solution: XML
May 22, 2000
This miracle language is called
Extensible Markup Language
(XML), a subset of SGML designed to be much simpler than SGML,
while retaining most of its capabilities. In fact, XML is no mere
language, but a meta-language that can be used to define markup
languages for specific purposes. You can basically create your own
XML language (also called a "vocabulary"), by creating your own
Document Type Definition (DTD).
One such XML-defined language is WML (Wireless Markup Language),
which was designed to format content for low-bandwidth,
small-display devices. WML is part of the WAP specification, and it
is quite powerful in its way.
WML allows you to organize content in a so-called "deck of cards".
Instead of a document consisting of a single page (as in HTML), a
document can contain several small pages organized in a deck, which
the user can page through. This works well for small devices,
because it allows you to squeeze in more content despite the small
screen. Because the deck is downloaded as a whole, it's not
necessary to reconnect to the server when the user moves from one
card to another. The WAP specification also includes WMLScript,
which is a client-side scripting language (based on ECMAScript)
that allows you to do some of the same things you can do with HTML
and
JavaScript.
There are a couple of good introductions to WML out there (See
"
An intro to WML" and
"
WAP for Web developers".
WML isn't the only game in town. In fact, HDML
(
Handheld Device Markup Language) has been around since 1997,
and is supported by many existing cell phones, through a client
called the UP.Browser. But WML would seem to be the wave of the
future, as does its parent, XML.
How to author WML documents? Some of the newer HTML editors,
including Allaire's HomeSite, support both WML and HDML. There is
also a tool called
TRANSWAP, which
claims to translate existing HTML files into WML. You can test
your documents with a phone simulator, which is a piece of software
that shows you a little picture of a phone, and lets you test
your masterpieces of WML coding. The various device manufacturers
offer development tools like these, for example the
Nokia developer's toolkit.
What about graphics? Yes, you can include graphics in a WML page,
by using an IMG tag, although there are a couple of slight
differences between the IMG tag in HTML and the IMG tag in WML.
However, graphics must be in the monochrome WAP Bitmap (.wbmp)
format. WBMP files are not yet supported by many of the major
graphics packages, but a company called Teraflop makes a
WBMP Converter.
Of course, WML is only part of WAP, which also includes a complete
network protocol stack, and is compatible with all the major
cellular phone standards (CDPD, CDMA, GSM and so forth). Most
of this other stuff is of little direct importance to Web
designers, thank goodness. WML documents can be served by ordinary
Web servers such as IIS, Apache and Netscape, as long as the server
is configured with the appropriate WML MIME types. However, another
server, called a WAP Gateway or WAP Proxy, is necessary to make the
translation between Web server and WAP device. Nokia's WAP Server
is one such product. The
Ariel WAP Overview has more information on WAP gateways.
More About XML
XML 1.0 Specification
XML Authoring Tutorial
Why XML?
More About WAP
WAP Forum
WAP Resources
Anywhere You Go
Ariel WAP Overview
The Problem: HTML
What's wireless to a web developer?
|