|
Much
of the hype surrounding XML has been the promise that it will allow
the development of device independent Content which can be formatted
by the web server at runtime using an XSLT Stylesheet which will
deliver the Content to the target browser device in an appropriate
format. It became obvious fairly quickly that for vastly different
form factors of device this alone would not be enough. NEC Corporation
of Japan have submitted a proposal to the W3C suggesting that an
enhancement called XDNL (or XML
Document Navigation Language) is the answer. This paper seeks
to demonstrate that although XDNL is a step in the right direction,
it in itself is still insufficient for real working systems.
"Write
Once Display Anywhere" is becoming the Holy Grail of eCommerce
Web Developers. As the wireless internet begins to takeoff, the
programmers in the trenches at eCommerce, B2C and B2B websites across
the globe, are coming under increasing pressure to produce more
and more versions of their website, in more and more formats. There
is HDML and WML just for mobile phones, there might be output for
Pagers and there is almost definitely PDA devices running a collection
of different OSes and Browsers such as AvantGo.
One
portal website manager recently reported that their site is now
produced in 20 formats. That is a lot of extra coding. It would
be ideal if some automated mechanism could be found to alleviate
that drain on manpower. If only there was a way to Write Once and
Display Anywhere. XML and XSLT Stylesheets have offered that promise.
Stylesheets
alone were not the answer
The
main problem with Stylesheets is that they have no regard for Navigation
or Interaction. Stylesheets are fine for finessing a "look"
but they have little impact on "feel". If you are delivering
output to a family of devices with much the same characteristics
then the navigation may be unaffected from one style to another.
However, with fundamentally differing form factors such as a WAP
Phone and a PC Web Browser, navigation becomes an issue.
The
key is to recognize the basic fundamental difference between a PC
Screen and a WAP Phone. A PC Screen is a largely a-modal interface
which offers the facility to present a large number of navigation
choices to the User. These choices can be randomly accessed in an
a-modal fashion. With a WAP Phone the opposite is true. A WAP Phone
is a very very modal device. The conversation with a WAP Phone is
more like a telephone conversation with a hotel concierge. It is
one question at a time, one answer at a time until gradually enough
information is known in order to do something useful, type of conversation.
Stylesheets
alone are not going to solve such a complex problem.
XDNL
- The Navigation Sheets Solution
The
XDNL proposal suggests that using XML to encode the basic Content
and an XDNL document to describe the navigation for different form
factor devices, this problem can be solved. The principle is simple:
write a navigation sheet for each family of target devices and use
it at runtime on the server to only serve the appropriate section
of the original Content document.

Diagram1.Two
Content Pages in XML with 6 Data Items per page
XDNL
suggests that Content pages like those above can be encoded to tell
us the structure of the content. In this example, there is a very
simple structure. Just two pages each with 6 paragraphs or items
of data.
An
XDNL Document is prepared separately (somewhat like a stylesheet)
which describes how the navigation should work within a single document.
For
delivery to a large PC Display this may be empty or extremely simple.
The data shown would give us a navigation which looks like this.
|