<prompt ...> element


The prompt element is used to specify the content of audio output. The content of prompts may be one or more of the following:


Attributes

Name Data type Default
accesskey
CDATA
implied

bargein

boolean
"true"

id

ID
implied
onbargein
script.statement
implied
onbookmark
script.statement
implied
oncomplete
script.statement
implied
onerror
script.statement
implied
prefetch
boolean
"false"
style
CDATA
"visibility: hidden"
xmlns
uri
implied
xml:lang
CDATA
implied

Children

Parents

Properties

Methods

Examples

<script><![CDATA[
    function beginPrompt() {
        mainPrompt.Start("Hello World!");
    }
    function nextPrompt() {
        mainPrompt.Start("I'll be right back.");
    }   
]]></script>

<body xmlns:salt="http://www.saltforum.org/2002/SALT"
        onload="beginPrompt();">
    <salt:prompt id="mainPrompt" onComplete="nextPrompt()">
    </salt:prompt>

    Hello World!
</body>

 

<script><![CDATA[
    var mark;
    function interrupt() {
        mark = event.srcElement.bookmark;
    }
    function ProcessCityConfirm() {
        PromptQueue.stop(); // flush the audio buffer
        if (mark == "mark_origin_city")
            txtBoxOrigin.value = event.srcElement.value;
        else
            txtBoxDest.value = event.srcElement.value;
    }
]]></script>

<body xmlns:salt="http://www.saltforum.org/2002/SALT" onload="pConfirm.Start();lConfirm.Start();">
...
    <input name="txtBoxOrigin" value="Seattle" type="text" />
    <input name="txtBoxDest" type="text" />
...
    <salt:prompt id="pConfirm" onBargein="interrupt()" bargein="true"
            xmlns:ssml="http://www.w3.org/2001/10/synthesis">
        From <bookmark mark="mark_origin_city" />
        <value targetelement="txtBoxOrigin" targetattribute="value" />,
        please say <bookmark mark="mark_dest_city" /> the
        <ssml:emphasis> destination </ssml:emphasis>
        city you want to travel to.
    </salt:prompt>


    <salt:listen id="lConfirm" onreco="ProcessCityConfirm()" >
        <salt:grammar src="/grm/1033/cities.grxml" />
    </salt:listen>
...
</body>

 

<html xmlns:salt="http://www.saltforum.org/2002/SALT">
    <head>
        <title>origin and destination</title>
    </head>

    <body>
        <form id="travelForm" action="http://mysite.com/travel/inquire.php"
                 method="post">
            <input name="txtBoxOriginCity" type="text" />
            <input name="txtBoxDestCity" type="text" />
        </form>

        <!-- SALT -->
        <salt:prompt id="askOriginCity" onError="procError()">
            Where from?
        </salt:prompt>
        <salt:prompt id="askDestCity" onError="procError()">
            Where to?
        </salt:prompt>
        <salt:prompt id="notUnderstood" onError="procError()">
            Sorry, I could not understand your input.
        </salt:prompt>
        <salt:prompt id="operator"
                 onComplete="transferToOperator()"
                 onError="transferToOperator()">
                
<!-- transferToOperator() is an external function -->
            I am transferring you to an operator.
        </salt:prompt>


         <salt:listen id="recoOriginCity"
                 onreco="procOriginCity()"
                onnoreco="procNothingUnderstood()"
                onsilence="procNothingUnderstood()"
                onerror="procError()">
            <salt:grammar src="./city.grxml" />
        </salt:listen>
        <salt:listen id="recoDestCity"
                onreco="procDestCity()"
                onnoreco="procNothingUnderstood()"
                onsilence="procNothingUnderstood()"
                onerror="procError()">
            <salt:grammar src="./city.grxml" />
        </salt:listen>

         <!-- scripts -->
        <script>
            function RunAsk() {
                if (txtboxOriginCity.value=="") {
                    askOriginCity.Start();
                    recoOriginCity.Start();
                } else if (txtboxDestCity.value=="") {
                    askDestCity.Start();
                    recoDestCity.Start();
                } else {
                    <!-- all slots filled -->
                    travelForm.submit();
                 }
            }
            function procOriginCity () {
                txtBoxOriginCity.value = recoOriginCity.value;
                RunAsk();
            }
            function procDestCity () {
                txtBoxDestCity.value = recoDestCity.value;
                RunAsk();
            }
            function procNothingUnderstood(){
                notUnderstood.Start();
                RunAsk();
            }
            function procError() {
                operator.Start();
            }
            function terminate() {
                <!-- caller hung up -->
                window.close();
            }
        </script>

         <!-- on page load -->
        <script>
        <!-- detect disconnect at a central place instead of
                placing disconnect detect handlers in the listen objects -->
            callControl.attachEvent("call.disconnected",terminate());
            <!-- start dialog execution -->
            RunAsk();
        </script>
    </body>
</html>

 

Extra info

For details on usage of this element, see the SALT Specification, Version 1.0.