Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developer_guide:voicexml_references:elements:subdialog [2015/10/27 21:45] (current)
borja created
Line 1: Line 1:
 +====== < subdialog > ======
  
 +===== Description =====
 +
 +The <​subdialog>​ element invokes another dialog as a subdialog of the current one. The subdialog is a reusable dialog that allows values to be returned. ​ The subdialog executes in a new execution context with all variables and execution states initialized. Values can be passed into the subdialog using <​param>​ child elements; the subdialog must contain the <var> variable declaration for each parameter. ​ The original dialog can continue execution only when the subdialog executes the <​return>​ element. ​ Returned values are available as properties of the <​subdialog>​ field item variable.
 +
 +===== Syntax =====
 +
 +<​code>​
 +<​subdialog
 +name="​String"​
 +expr="​ECMAScript_Expression"​
 +cond="​ECMAScript_Expression"​
 +namelist="​variable1 variable2 ..."
 +src="​URI"​
 +method="​get"​ | "​post"​
 +enctype="​application/​x-www-form-urlencoded"​ | "​multipart/​form-data"​
 +fetchaudio="​URI"​
 +fetchhint="​prefetch"​ | "​safe"​
 +fetchtimeout="​time_interval"​
 +maxage="​time_interval"​
 +maxstale="​time_interval">​
 +</​subdialog>​
 +</​code>​
 +
 +===== Attributes =====
 +
 +|name|The name attribute defines the name of the field item variable for the <​subdialog>​ element. The returned results can be retrieved as a property of the variable, name.returnVariable. This attribute is required.|
 +|expr|The expr attribute is the initial value of the form item variable. The <​subdialog>​ element will be visited only if the variable is undefined. ​ This attribute is optional and defaults to undefined.|
 +|cond|The cond attribute is a Boolean expression that must evaluate to true for the <​subdialog>​ to execute. This attribute is optional and defaults to true.|
 +|namelist|The namelist attribute is a space-separated list of variables to submit. This attribute is optional and defaults to nothing.|
 +|src|The src attribute is the URI of the <​subdialog>​. This attribute is required - specifically either src or srcexpr is required.|
 +|method|The method attribute specifies the query request method, get or post. This attribute is optional and defaults to get.|
 +|enctype|The enctype attribute defines the MIME encoding of the document. This attribute is optional and defaults to application/​x-www-form-urlencoded. The following types are supported: \\ * application/​x-www-form-urlencoded. \\ * multipart/​form-data (to post recorded messages).|
 +|fetchaudio|The fetchaudio attribute is the URI of the audio to play while waiting for the next document to be fetched.|
 +|fetchtimeout|The fetchtimeout attribute is the time interval to wait for the audio file to be fetched before playing the alternate content. This attribute is optional.|
 +|fetchhint|The fetchhint attribute defines when the audio file should be retrieved. ​ This attribute is optional. \\ * prefetch – the audio file may be downloaded when the page is loaded. \\ * safe – the audio file loads only when needed.|
 +|maxage|The maxage attribute indicates the maximum time in seconds that this document will use this subdialog file before fetching another copy. This attribute is optional.|
 +|maxstale|The maxstale attribute indicates the maximum time in seconds that this document will use a subdialog file that exceeded the maxage time. This attribute is optional.|
 +
 +===== Parents =====
 +
 +<​code>​
 +<​form>​
 +</​code>​
 +
 +===== Children =====
 +
 +<​code>​
 +<​audio>,​ <​catch>,​ <​enumerate>,​ <​error>,​ <​filled>,​ <​help>,​ <​noinput>,​ <​nomatch>,​ <​param>,​ <​prompt>,​ <​property>,​ <​value>​
 +</​code>​
 +
 +===== Extensions =====
 +
 +<​code>​
 +None.
 +</​code>​
 +
 +===== Limitations/​Restrictions =====
 +
 +<​code>​
 +The variables submitted to the <​subdialog>​ element in the namelist attribute may not be objects.
 +</​code>​
 +
 +===== Example Code =====
 +
 +The following is an example of a document that calls the <​subdialog>:​
 +<​code>​
 +<vxml version="​2.0"​ xmlns="​http://​www.w3.org/​2001/​vxml">​
 + <​form>​
 +  <​subdialog name="​result"​ src="​subdialog.vxml">​
 +   <​filled>​
 +    <​prompt>​
 +     Your account number is <value expr="​result.acctnum"/>​
 +     Your phone number is <value expr="​result.acctphone"/>​
 +    </​prompt>​
 +   </​filled>​
 +  </​subdialog>​
 + </​form>​
 +</​vxml>​
 +</​code>​
 +
 +The following is an example of a document containing the <​subdialog>:​
 +<​code>​
 +<?xml version="​1.0"?>​
 +<vxml version="​2.0"​ xmlns="​http://​www.w3.org/​2001/​vxml">​
 + <​form id="​basic">​
 +  <field name="​acctnum"​ type="​digits">​
 +   <​prompt>​ What is your account number? </​prompt>​
 +  </​field>​
 +  <field name="​acctphone"​ type="​phone">​
 +   <​prompt>​ What is your home telephone number? </​prompt>​
 +   <​filled> ​  <​prompt>​ What is your home telephone number? </​prompt>​
 +   <​filled>​
 +    <return namelist="​acctnum acctphone"/>​
 +   </​filled>​
 +  </​field>​
 + </​form>​
 +</​vxml>​
 +</​code>​