Volume 1, Issue 2 - Feb. 2001
   
 

Answers to Your Questions About VoiceXML

By Jeff Kunins

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 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).