Home > Articles > Web Services > XML

  • Print
  • + Share This
This chapter is from the book

This chapter is from the book

3.51 subdialog

Element type

subdialog

Attributes

cond | enctype | expr | fetchaudio | fetchhint | fetchtimeout | maxage (2.0) | maxstale (2.0) | method | name | namelist | src | srcexpr

Parents

form

Children

PCDATA | audio | catch | enumerate | error | filled | help | noinput | nomatch | param | prompt | property | value

Description

A form item that calls another form. Upon completion of that form, this form item is considered filled and its containing form continues according to the Form Interpretation Algorithm.

DTD

<!ELEMENT subdialog        
  (%audio; | %event.handler; | filled | param | prompt | property)* >
<!ATTLIST subdialog
  %item.attrs;
  src            %uri;       #REQUIRED
  srcexpr        %expression
  %cache.attrs;
  fetchaudio     %uri;       #IMPLIED
  %submit.attrs; >

Language model

Attributes

  • cond : expression = true

    A guard condition associated with this form item, written as an ECMAScript expression. This expression must evaluate to true for the Form Interpretation Algorithm to visit this form item.

  • enctype : CDATA

    The MIME encoding type for the document containing the subdialog.

  • expr : expression = undefined

    An ECMAScript expression defining an initial value for this form item. The Form Interpretation Algorithm will visit subdialog only if the expression evaluates to undefined.

  • fetchaudio : uri

    The URI of the audio to play while fetching the document containing the subdialog.

  • fetchhint : (prefetch | safe)

    Indicates whether the interpreter may prefetch the destination document specified by this element's next attribute. A value of prefetch indicates the resource may be retrieved at the time the containing VoiceXML document is retrieved. A value of safe indicates that the resource specified by this element should not be prefetched, but should instead be retrieved at the time that the interpreter executes this element.

  • fetchtimeout : duration

    The interval to wait for the content to be returned before throwing an error.badfetch event. If this attribute is not specified, the interpreter derives a value from the most locally scoped fetchtimeout property.

  • maxage : integer

    Indicates the maximum allowable age of the fetched document in seconds. If the cached copy is older than the specified maxage, a new copy will be fetched when the interpreter executes this element. If this attribute is not specified, the interpreter derives a value from the most locally scoped maxage property. If no maxstale attribute is defined and it is impossible to fetch a new copy on the content the interpreter will throw an error.badfetch instead of using stale content.

  • maxstale : integer

    Indicates that the interpreter may use stale content for this element as long as its age is no older than maxage plus the value of maxstale in seconds. If this attribute is not specified, the interpreter derives a value from the most locally scoped maxstale property.

  • method : (post | get) = get

    Indicates whether the variables specified in the namelist attribute are passed to the server via HTTP GET or HTTP POST.

  • name : field.name

    The name associated with this form item. This name can be referred to as a variable whose members correspond to the values returned from the subdialog.

  • namelist : field.names

    A list of variables to submit, using HTTP, to the subdialog. Only valid when the subdialog is in another document.

  • src : uri

    URI of the subdialog.

  • srcexpr : expression = undefined

    An ECMAScript expression defining the src URI for this subdialog element. One and only one of srcexpr and src must be defined.

Children

  • param elements

    These declare parameters to be passed to the subdialog.

  • prompt elements and audible content

    To be rendered upon visiting this subdialog element.

  • filled elements

    To be executed once the subdialog returns with return values (as opposed to an event).

  • event.handler elements

    These remain active while this subdialog is being executed.

  • property elements

    These set system properties for the duration of the subdialog call.

Examples

Example 3-62 A dialog that calls a subdialog

<?xml version="1.0" encoding="iso-8859-1"?>
<vxml version="1.0">
  <form>
    <subdialog name="result" src="#returnevent">
      <prompt>Calling subdialog that returns an event, 
        passing a parameter.</prompt>
      <param name="param" expr="'parameter'"/>
      <catch event="returnevent.event">
        Received return event from subdialog, test complete.
        <exit/>
      </catch>
    </subdialog>
  </form>
  <form id="returnevent">
    <var name="param"/>
    <block>
      <prompt>In subdialog, received <value expr="param"/>, 
        returning event.</prompt>
      <return event="returnevent.event"/>
    </block>
  </form>
</vxml>
  • + Share This
  • 🔖 Save To Your Account