VoiceXML 2.1 Development GuideHome  |  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
nameData Type: NMTOKENDefault: Required
The name attribute defines the property name, which should match up with the listing in the property documentation.
valueData Type: CDATADefault: 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.

login



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