Home -> Support -> VoiceXML Examples

Root Document Example

example05_1.vxml
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" application="example05_root1.vxml" xmlns="http://www.w3.org/2001/vxml">

<meta name="description" content="root document example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>

<!-- start to interpret this file -->

<form id="start">
  <block>
    Say rubbish, do nothing or ask for help and observe the system behavior.
    If you observed enough answer yes or no.
  </block>

  <field name="answer">
    <prompt> Are you sleepy? </prompt>

    <grammar src="yesno.grxml"/>

    <filled>
      <if cond="answer=='yes'">
        So you are sleepy. Me too.
      <else/>
        So you are not sleepy. But I am.
      </if>
    </filled>
  </field>

  <block>
    <goto next="example05_2.vxml"/>
  </block>
</form>

</vxml>
example05_2.vxml
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" application="example05_root1.vxml" xmlns="http://www.w3.org/2001/vxml">

<meta name="description" content="root document example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>

<!-- start to interpret example05_1.vxml -->

<form id="start">
  <block>
    Try it once more.
  </block>

  <field name="answer">
    <prompt> Are you sleepy? </prompt>

    <grammar src="yesno.grxml"/>

    <filled>
      <if cond="answer=='yes'">
        So you are sleepy. Me too.
      <else/>
        So you are not sleepy. But I am.
      </if>
    </filled>
  </field>

  <block>
    <goto next="example05_3.vxml"/>
  </block>
</form>

</vxml>
example05_3.vxml
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" application="example05_root2.vxml" xmlns="http://www.w3.org/2001/vxml">

<meta name="description" content="root document example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>

<!-- start to interpret example05_1.vxml -->

<form id="start">
  <block>
    Try it once more with another root document.
  </block>

  <field name="answer">
    <prompt> Are you sleepy? </prompt>

    <grammar src="yesno.grxml"/>

    <filled>
      <if cond="answer=='yes'">
        So you are sleepy. Me too.
      <else/>
        So you are not sleepy. But I am.
      </if>
    </filled>
  </field>

  <block>
    That's all.
  </block>
</form>

</vxml>
example05_root1.vxml
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">

<meta name="description" content="root document example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>

<!-- start to interpret example05_1.vxml -->

<noinput> Root 1. Hey, don't sleep! </noinput>
<nomatch> Root 1. I don't understand you - say 'yes' or 'no'. </nomatch>
<help> Root 1. You asked for help - say 'yes' or 'no'. </help>

<catch event="exit">
  <prompt> Root 1. Exit! </prompt>
  <exit/>
</catch>

<link event="help">
  <grammar src="help.grxml"/>
</link>

<link event="exit">
  <grammar src="exit.grxml"/>
</link>

</vxml>
example05_root2.vxml
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">

<meta name="description" content="root document example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>

<!-- start to interpret example05_1.vxml -->

<noinput> Root 2. Hey, don't sleep! </noinput>
<nomatch> Root 2. I don't understand you - say 'yes' or 'no' </nomatch>
<help> Root 2. You asked for help - say 'yes' or 'no' </help>
<catch event="exit">
  <prompt> Root 2. Exit! </prompt>
  <exit/>
</catch>

<link event="help">
  <grammar src="help.grxml"/>
</link>

<link event="exit">
  <grammar src="exit.grxml"/>
</link>

</vxml>
exit.grxml
<?xml version="1.0" encoding="UTF-8"?>
<grammar root="main" version="1.0" xml:lang="en">

  <meta name="description" content="exit grammar"/>
  <meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
  <meta name="copyright" content="free for any purpose"/>

  <rule id="main" scope="public">
    <one-of>
      <item>exit</item>
      <item>quit</item>
    </one-of>
  </rule>
</grammar>
help.grxml
<?xml version="1.0" encoding="UTF-8"?>
<grammar root="main" version="1.0" xml:lang="en">

  <meta name="description" content="help grammar"/>
  <meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
  <meta name="copyright" content="free for any purpose"/>

  <rule id="main" scope="public">
    <item repeat="0-1"> please </item>
    <item repeat="0-1"> I need </item>
    help
    <item repeat="0-1"> me </item>
    <item repeat="0-1"> please </item>
  </rule>
</grammar>
yesno.grxml
<?xml version="1.0" encoding="UTF-8"?>
<grammar root="main" version="1.0" xml:lang="en" tag-format="semantics/1.0-literals">

  <meta name="description" content="yes/no grammar"/>
  <meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
  <meta name="copyright" content="free for any purpose"/>

  <rule id="main" scope="public">
    <one-of>
      <item><ruleref uri="#yes"/><tag>yes</tag></item>
      <item><ruleref uri="#no"/><tag>no</tag></item>
    </one-of>
  </rule>
  <rule id="yes">
    <one-of>
      <item>yes</item>
      <item>yeah</item>
      <item>yep</item>
      <item>sure</item>
    </one-of>
  </rule>
  <rule id="no">
    <one-of>
      <item>no</item>
      <item>not</item>
      <item>nope</item>
    </one-of>
  </rule>
</grammar>