VoiceXML 2.1 Development Guide Home  |  Frameset Home


<property>  element


The property element defines any platform-defined setting which impacts the behavior of the application. A property can be set to encompass the entire application, (when set at the vxml level of an application root document), or a property can be defined for a specific form item. For a complete list of properties supported, please refer to Appendix H: Voxeo Property Guide.


usage

<property name="NMTOKEN" value="CDATA">


attributes

name Data Type: NMTOKEN Default: Required
The name attribute defines the property name, which should match up with the listing in the property documentation.
value Data Type: CDATA Default: Required
The value attribute defines the value for the property in question. Note that all time designations must have the ‘s’ or ‘ms’ suffix appended to the value:

<property name=”timeout” value=”10s”/>



shadow variables

none


parents

<field>   <form>   <initial>   <menu>   <record>   <subdialog>   <transfer>   <vxml>


children

none


code samples

<Property name-value> sample
<?xml version="1.0" encoding="UTF-8"?>

<vxml version = "2.1">

<meta name="author" content="Matthew Henry"/>
<meta name="copyright" content="2005 voxeo corporation"/>
<meta name="maintainer" content="YOUR_EMAIL@HERE.COM"/>



  <catch event="help">
    <goto next="#F2"/>
  </catch>

<form id="F1">

  <field name="F_1">
    <grammar type="text/gsl">[(polk salad annie)]</grammar>

<!--HERE WE ENABLE ALL UNIVERSAL GRAMMARS -->
  <property name="universals" value="all"/>

    <prompt> say help here. </prompt>

    <filled>
      <prompt> this shouldnt get filled </prompt>
    </filled>

  </field>

</form>

<form id="F2">

  <field name="F_2">
    <grammar type="text/gsl">[hammertoe]</grammar>
    <prompt> you will note, that the universal grammars are now turned back off. </prompt>
    <prompt> dont believe me? try saying help again, you philistine. </prompt>
 
    <filled>
      <prompt> this shouldnt get filled </prompt>
    </filled>

  </field>

</form>

</vxml>




additional links

W3C 2.0 Specification


  ANNOTATIONS: EXISTING POSTS
sildev1
8/15/2006 9:33 AM (EDT)
The possible parents seems a bit limited here. Consider this, a field is encountered thats asks the recipient if they would prefer a male voice of a female voice. Depending on the answer we want to change the property for voice to encompass the entire application. Is this not possible?
MattHenry
8/15/2006 3:01 PM (EDT)


Hi there,

This actually isn't all that limited after all. In order to achieve this goal, we woul want an application root document present, where we set this property value. In the event that a user wanted to switch TTS voices, we would set a session variable on the server side that would then dynamically change the value of this property setting, which would scope to any leaf documents that referenced the root, ie:

<vxml version="2.1" application="myRoot.php">

Let me know if you need further details on this.

~Matt
sildev1
8/15/2006 5:19 PM (EDT)
Sorry Matt,
I don't think I was clear in my statement. I know a lot of things can be accomplished using server-side Tom Foolery, but I think a pure VXML solution should be possible.

Consider the following psuedo VXML example,

<field name="voiceToUse">
  <prompt>you wanna male or female persona</prompt>
  <grammar> [male female] </grammar>
  <filled>
      <if cond="voiceToUse == 'male'">
        <property name="voice" scope="application" value="TellySavalas"/>
      <else/>
        <property name="voice" scope="application" value="LyndaCarter"/>
      </if>
      <goto nextitem="myPersona"/>
  </filled>
</field>

<block name="myPersona">
  <prompt>
      If I said male, I will sound like Kojak for the rest of this application.
      If I said female, I will sound like Wonder Woman for the rest of this application.
  </prompt>
</block>


What I am saying is the ability to set properties at various scopes (app, document etc) should be easy and not require further document fetches and the use of server side session management.
MattHenry
8/15/2006 7:26 PM (EDT)


Hi again,

You and I are in total agreement on this, make no mistake.


=^)

I've heard murmurings and rumblings about adding an 'expr' attribute to the property element that will allow you and me both this ability, but nothing has been finalized at this point. Until this becomes clearer, we are unfortunately stuck with using server side methodologies to change the value of any <property> settings in the VXML context.

~Matthew Henry
PUNUKA
9/6/2006 6:22 AM (EDT)
hey Henry
I got some vendor specific vxml scripts which specify some properties which I dont think are vxml defined(vxml 2. 0). does vxml 2.0 allow specific user defined properties?(I have never come accross). I have seen something like
<property name="METRICSLEVEL" value="3/>
<property name="LOGLEVEL" value="3/>

In case these are defined metrics of vxml 2.0 and above where are they defined?

MattHenry
9/6/2006 10:50 AM (EDT)


Hi there,

Those properties are indeed platform-specific, and not really w3c compliant. If you want a finer grained control of the log output that you get, you have two options:


1 - Use the <log label> attribute:

http://www.voicexmlguide.com/log.htm

2 - Use the debug flags available to the <meta> element:

http://www.voicexmlguide.com/motty_meta.htm

Regards,

~Matthew Henry
alexey.timofeev
3/13/2008 5:18 AM (EDT)
Hi!

I have a question according using tag <property> as a child of the tag <transfer>.

As a matter of fact I'm interested in using <property name="timeout" value="2s"/>  in <transfer>. What will be the result of such using? Will the script wait for 2 secs and then start transfer call?


Thanks in advance, Natalia.
voxeojeff
3/13/2008 9:39 AM (EDT)
Hi Natalia,

Specifying a timeout value of 2 seconds means the interpreter will wait for a user utterance for 2 seconds before it throws a noinput event.  I've included a link below which gives a list of the available W3C compliant properties and their descriptions.

http://docs.voxeo.com/voicexml/2.0/w3cprops.htm#start

Hope this helps,

Jeff
jkugler
3/13/2008 2:50 PM (EDT)
Note that property names must be lower case or it gets ignored and the default is used. 

Josh Kugler
ifbyphone Inc.
feel012
9/18/2008 5:04 AM (EDT)
Hi~ I have a question.
I want to set a property value using variable.
for example.
<var name="AA" expr="'all'"/>
<property name="universals" value="AA"/>
Is it possible??
Or Does it exist another way??? please help..
voxeoJeffK
9/18/2008 5:19 AM (EDT)
Hi,

No, unfortunately that is not valid. For the <property> tag, the "value" attribute's data type is character data, not an expression.

Regards,
Jeff K.
jefo12
11/19/2008 11:55 PM (EST)
Hi,


Is there any way to change the default TTS female voice to male

voice in the application level..?I need to change the voice through

out the application Is there any property that supports..?


Hope the favourable reply..


Thanks,

jefo
voxeoAlexBring
11/20/2008 12:58 AM (EST)
Hello jefo,
    To answer your question you can simply use the [code]<property name="voicename" value="English-Male4"/>[/code] in your application to change the default TTS output to male instead of female.

If you would like some information about installing a male TTS to a local install of Prophecy, then please open an account ticket so we can better assist you with whatever you may need.

Regards,

Alex Bring
Voxeo Support
chakri.950
5/15/2009 8:12 AM (EDT)
Hi,

1. I have written a grammar in such a way that by pressing # key we will assign '0' value to field1. Now the issue is that I want to provide both functionality for the # key i.e., as a termination character as well as '0' value for the # key press.

For Example:

1. if user enters 1234# then it has to accept.
2. if user enters # key also it should accept.
3. if user enters 1234## then default property and as well as grammar propert also has to be activated in such a way that 1234# should be go the field1 and the second # should go for the next field stating with the message invalid response.
In this scenario it has to act as default property of the hash value.

Thanks in advance.
Kalyan M


voxeoJeffK
5/15/2009 8:20 AM (EDT)
Hello Kalyan,

Unfortunately the termchar is an either/or scenario. If you assign the # as the termchar it removes it as a valid dtmf selection. If you unset it as the termchar then it is a valid selection and must always be treated as such.

Regards,
Jeff Kustermann
Voxeo Support

login



© 2010 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site