<data>

Description

(VoiceXML 2.1 feature) Allows the fetching of, and read-only DOM access to, arbitrary XML data, without transitioning to a new VoiceXML document.

 

Note: The <vxml> version attribute must be specified as 2.1 (or higher) to use this feature.  If the version is specified otherwise, <data> will not be recognized and will be treated as an invalid child element.

Syntax


<data name="string" src="URI" srcexpr="ECMAScript_Expression" namelist="variable1 variable2 ..." method="get" | "post" enctype="MIME_type" fetchaudio="URI" fetchhint="safe" fetchtimeout="time_interval" maxage="integer" maxstale="integer"/>

Attributes

Attribute

Description

name

The name of the variable that exposes the DOM.

For ECMAScript functions to navigate this variable, please see http://www.w3.org/TR/2005/CR-voicexml21-20050613/#sec-data-dom.

src

The URI of the request, to fetch the XML data.  Optional.  Exactly one of src or srcexpr must be specified.

srcexpr

An ECMAScript expression to be evaluated and used as the URI of the request, to fetch the XML data.  Optional.  Exactly one of src or srcexpr must be specified.

namelist

A space-separated list of variables to submit with the request.  By default, no variables are submitted.  Any declared VoiceXML and ECMAScript variables can be referenced.  Optional.

method

The request method: get or post. Optional.  (Defaults to get.)

enctype

The MIME encoding of the submitted data. T he following types are supported:

  • application/x-www-form-urlencoded
  • multipart/form-data
Optional. (Defaults to application/x-www-form-urlencoded.)

fetchaudio

The URI of the audio to play while waiting for the XML data to be fetched.  Optional.

Overrides the value of the fetchaudio property.

fetchhint

Defines when the XML data should be fetched.  Optional.

  • safe - only load the XML data when needed

Overrides the value of the datafetchhint property.

Currently, fetchhint="prefetch" is not supported in the <data> tag.

fetchtimeout

The length of time to wait for the XML data to be fetched before throwing an error.badfetch event.  Optional.

Overrides the value of the fetchtimeout property.

maxage

Indicates that this document is willing to use a cached copy of the XML data only while the age of the cached copy is less than or equal to the number of seconds specified by this attribute.  Optional.

Overrides the value of the datamaxage property.

maxstale

Indicates that this document is willing to use a cached copy of the XML data that has exceeded its expiration time by as much as the number of seconds specified by this attribute.  Optional.

Overrides the value of the datamaxstale property.

Attribute Notes

Parents

Block Catch Catch Error Filled ForEach  Form Help If Noinput Nomatch Vxml

Children

None

VoiceGenie Extensions

None

Limitations/Restrictions

Notes on Using DOM Methods to Parse XML Data

  1. The DOM methods getAttribute() and getAttributeNS() return an empty string if an attribute doesn't exist.
  2. XML namespaces are supported for DOM methods like getAttributeNS().
  3. The DOM method hasChildNodes() returns an ECMAScript value true or false.

Example


<?xml version="1.0"?> <vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"> <data name="quotedata" src="http://www.quoteserver.com/20040517/f.xml"/> <form> <block> <var name="quote" expr="quotedata.documentElement"/> The change for Ford Motor Company is <value expr="quote.getElementsByTagName('change').item(0).firstChild.data"/>. </block> </form> </vxml>

 

The XML data associated with the example above:


<?xml version="1.0"?> <?access-control allow="*"?> <quote> <ticker>F</ticker> <name>Ford Motor Company</name> <change>1.00</change> <last>30.00</last> </quote>