We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

subdialog not validating

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
bluematrix
Posts: 5
Joined: Thu Sep 28, 2006 5:40 pm

subdialog not validating

Post by bluematrix »

Hi guys,

I've been trying to validate this vxml with the online plum validator to no avail. This works in other validators and I dont see anything wrong.

This is the error message
Validation Results:

Error at line 38, char 11
Message: Element 'subdialog' is not valid for content model: '(#PCDATA|audio|enumerate|value|assign|clear|data|disconnect|exit|foreach|goto|if|log|prompt|reprompt|return|script|submit|throw|var|elseif|else)*'


and his is my vxml

<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">



<meta name="maintainer" content="" />

<property name="universals" value="all" />

<property name="inputmodes" value="dtmf" />

<var name="callerid" expr="session.telephone.ani"/>





<form id="m1">

<!--

-->

<field name="choice" type="number">

<prompt>

Welcome to the blue matrix voice message system.

Please select from the folowing options:

to listen to an existing recording, press 1.

to create a non material recording, press 2.

to create a material recording, press 3.

to repeat this menu, press 0.



</prompt>

<filled>

<if cond="choice==1">

<subdialog src="http://audio.bluematrix.com/bluematrix/ ... ode=select"/>

<elseif cond="choice==2"/>

<subdialog src="http://audio.bluematrix.com/bluematrix/ ... _msg_nm.pl"/>

<elseif cond="choice==3"/>

<subdialog src="http://audio.bluematrix.com/bluematrix/ ... ice_msg.pl"/>

<elseif cond="choice==0"/>

<goto next="#m1"/>

<else />

<prompt>unrecognizable option</prompt>

<goto next="#m1"/>

</if>

<goto next="#m1"/>

</filled>

</field>



<help>I'm sorry. There's no help available here. <reprompt /></help>

<noinput>I'm sorry. I didn't hear anything. <reprompt /></noinput>

<nomatch>I do not understand. <reprompt /></nomatch>

<error>There was an error processing. Please try again. <reprompt /></error>

</form>

</vxml>

Any help much appreciated Thanks...

adriannaude
Posts: 34
Joined: Mon Nov 07, 2005 11:27 am
Location: United Kingdom

Post by adriannaude »

Hi,

What you need to do is to split the <subdialog> tags into their own little forms and call the forms from your <if> tag. If your little forms have the <goto next="#m1"/> at the end of each one then you'll achieve the same result as you've laid out above.

Cheers,
Adrian

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

<subdialog> tag is form-level field tag in IVR

Post by support »

Adrian's suggestion is excellent. Another alternative is to use the executable tag <submit> instead of <subdialog> in your IVR application.

The <subdialog> tag is a form-level field tag as specified in the official VoiceXML DTD: http://www.w3.org/TR/voicexml20/vxml.dtd. As such, it can't be used within an <if> block.
Last edited by support on Thu Jan 14, 2010 12:26 pm, edited 2 times in total.

bluematrix
Posts: 5
Joined: Thu Sep 28, 2006 5:40 pm

Post by bluematrix »

Thank you much guys.
I'll create more forms...

Post Reply