|
Answers
to Your Questions About VoiceXML
In
this monthly column, an industry expert will answer
common questions about VoiceXML and related technologies.
Readers are encouraged to submit questions about VoiceXML,
including development, voice-user interface design,
and speech technology in general, or how VoiceXML is
being used commercially in the marketplace. If you have
a question about VoiceXML, e-mail it to speak.and.listen@voicexmlreview.org
and be sure to read future issues of VoiceXML Review
for the answer.
This
issue, we'll tackle dynamically generated VoiceXML applications
using XML and XSL, and address the issue of VoiceXML
compliance.
Q: How can I use XML and XSL to dynamically generate
VoiceXML applications?
A: The Extensible Markup Language (XML), and
Extensible Stylesheet Language (XSL) are powerful and
practical tools developers can use today to begin delivering
on the promise of pervasive computingAs a result of
these tools, cleanly abstracted data and presentation
layers deliver an appropriate interface to a given application
on a comprehensive suite of devices, all of which are
dynamically generated from shared back-end infrastructure.
XML is typically used for two purposes today: pure representation
of data, and interface specification. VoiceXML itself
is an example of the latter, while many B2B exchanges
or internal data formats (e.g., next generation EDI)
use the former.
XSL is an accompanying standard for XML that specifies
template-like constructs that enable developers to "transform"
raw XML data into a particular XML-based interface specification,
such as HTML (see footnote)
or VoiceXML. For example, it has constructs to search
for and then iterate through various data sets within
an XML document (such as a set of available airline
flights), or to "print" out various pieces
of VoiceXML or HTML interspersed within the data along
the way.
The result is that developers can design their Web infrastructure
such that one set of server code (JSP, ASP, Cold Fusion,
etc.) manages the connection to backend databases, thereby
triggering transactions and exposing the results as
XML data. Meanwhile another set (running on the same
or a different server) essentially "grabs"
that data through simple URL calls and then applies
a device-specific XSL stylesheet, ultimately responding
with a single document in the proper XML-based markup
language for a given user's device of choice.
Figure
1: Typical XSL Transformation of an XML Document
XML
and XSL are powerful tools for developers looking to
efficiently deliver applications across multiple devices.
However, there are some key issues to watch out for:
- XSL
is not transcoding. XML and XSL do not
automatically transform or "transcoded"
an application from one device to another, such as
from a Web page to VoiceXML. Rather, they are simply
a technological tool developers can use to cleanly
author device-specific interfaces in the appropriate
markup language for a particular device (e.g. VoiceXML,
WML, HTML), with maximum code reuse. Developers still
must explicitly design and author the interface for
each device they wish to support.
- Careful
voice user interface design is critical. Particularly
for VoiceXML, excellent user interface design is absolutely
critical to usability and application success. While
even the worst visual interfaces tend to be usable,
all but the best voice interfaces are confusing and
frustrating to callers. XML and XSL in no way eliminate
the need for expert application design.
- Code
length efficiency is important. XSL can easily
produce code that is particularly long and repetitive.
While this shouldn't be a major concern, it is worth
spending some time and attention to ensure that the
resulting application code is as efficient and streamlined
as possible.
For
more information and resources about XML, XSL, and VoiceXML,
visit the following sites:
Continued...
Footnote:
HTML is not technically XML, but for the practical purposes
of this example can be considered as such. For more
information on XHTML, the new "pure" XML variant
of HTML, go to http://www.w3c.org.
(Back to Article)
back
to the top
Copyright
© 2001 VoiceXML Forum. All rights reserved.
The VoiceXML Forum is a program of the
IEEE
Industry Standards and Technology Organization (IEEE-ISTO).
|