Excerpt: Early Adopter VoiceXML: VoiceXML with XSLT (HTML and WML), Part 2
Wrox Press Book - Early Adopter VoiceXML Part 2
Chapter 7, VoiceXML with XSLT (HTML and WML)

Finally, to provide the user with detailed order information, the full product name and description must be available. This will also allow the user to ask for a product list, and eventually we can perhaps extend the interface to enable products to be ordered by voice. Note that the <product_list> is not associated with any particular <customer_record>.
<order_history customer_id="1"> <order id="1"> <customer_address address_type="Ship To Address" customer_id="1"/> <order_date sayas="May 18, 2001 at 16 17 hours"> 2001-05-18T16:17:16 </order_date> <order_status>Processing</order_status> <tax>0.09</tax> <shipping_charge>0.4</shipping_charge> <total_charge>2.48</total_charge> <product id="1" quantity="3"/> <product id="3" quantity="1"/> </order> </order_history>
Also note that, ideally, the <product_list> wouldn't actually be in the same document as the customer data. However, we'll keep everything in one file here to avoid the issue of linking between documents. It might amuse us to picture the harried developers reaching the same conclusion to save time and give themselves some chance of meeting their beloved boss's deadline. Later on, they will no doubt want to refine the process and generate smaller XML documents that can be processed more quickly.
</customer_record> <product_list> <product id="1" name="MIXED1000" price="1.99"> Mixed Bag of 1000 Rubber Bands </product> <product id="2" name="MIXED5000" price="4.09"> Mixed Bag of 5000 Rubber Bands </product> <product id="3" name="RED1000" price="2.19"> Bag of 1000 Red Rubber Bands </product> <product id="4" name="RED10000" price="17.49"> Bag of 10000 Red Rubber Bands </product> <product id="5" name="BLUE1000" price="0.99"> Bag of 1000 Blue Rubber Bands </product> <product id="6" name="BLUE10000" price="8.99"> Bag of 10000 Blue Rubber Bands </product> </product_list> </myrubberbands>This example is formatted to fit the space above, and for readability, adds quite a bit of whitespace between <product></product> tags that would probably not occur in a real document.
Page 1 of 5
This article was originally published on February 14, 2002