Author Message
MichaelMirt
Joined: Mar 11, 2005
Messages: 5
Offline
This may just be a smulator quirk, but we don't have access to our MPP yet so I'll try to confirm here.

We have defined in the root page a link to globally catch "0". In some of our sub-pages we want to catch "0" and handle differently from what happens when caught in the root page.

In our subPage we defined a menuInput, and added in "0" as a choice thinking we would get control there rather than have it processed by the root page.

While testing in the simulator it appears that the choice "0" in our subPage is not overriding the root page.

Please let us know if this is just a simultor quirk, or is this the expected processing of the Avaya browser?

As a quick test I defined a link in the subPage to catch 0, and that worked, but we would prefer to use choice "0" to accomplish the same goal.

Thx.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
3.1.4 Activation of Grammars
When the interpreter waits for input as a result of visiting an input item, the following grammars are active:

grammars for that input item, including grammars contained in links in that input item;

grammars for its form, including grammars contained in links in that form;

grammars contained in links in its document, and grammars for menus and other forms in its document which are given document scope;

grammars contained in links in its application root document, and grammars for menus and forms in its application root document which are given document scope.

grammars defined by platform default event handlers, such as help, exit and cancel.

In the case that an input matches more than one active grammar, the list above defines the precedence order. If the input matches more than one active grammar with the same precedence, the precedence is determined using document order: the first grammar in document order has highest priority. If no grammars are active when an input is expected, the platform must throw an error.semantic event. The error will be thrown in the context of the executing element. Menus behave with regard to grammar activation like their equivalent forms (see Section 2.2.1).
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
That is from the vxml spec. What is happening is that since by default we enable vxmlrootinline thus the link and the menu/form are dialog scoped and the first int he document takes precedence.

If you disable vxmlrootinline=disabled then you will see different behavior.

vxmlrootinline, saved on document fetches.
SathakAbdulHameedSathakathulla
Joined: Dec 9, 2009
Messages: 0
Offline
Hi Ross,

I have a similar scenario where i am trying to override the global grammar ( rep option --0) in the local. So i have a grammar say "x.grxml" with option as 1, 2, 0. Now i see both 1 and 2 works just fine. But when i press 0, its picking the link option from the root grammar. Am i missing something? i thought the local grammar has precedence than the root...Please advice me..
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
Please read carefully:

3.1.4 Activation of Grammars
When the interpreter waits for input as a result of visiting an input item, the following grammars are active:

grammars for that input item, including grammars contained in links in that input item;

grammars for its form, including grammars contained in links in that form;

grammars contained in links in its document, and grammars for menus and other forms in its document which are given document scope;

grammars contained in links in its application root document, and grammars for menus and forms in its application root document which are given document scope.

grammars defined by platform default event handlers, such as help, exit and cancel.

In the case that an input matches more than one active grammar, the list above defines the precedence order. If the input matches more than one active grammar with the same precedence, the precedence is determined using document order: the first grammar in document order has highest priority. If no grammars are active when an input is expected, the platform must throw an error.semantic event. The error will be thrown in the context of the executing element. Menus behave with regard to grammar activation like their equivalent forms (see Section 2.2.1).
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
If you disable vxmlrootinline=disabled then you will see different behavior.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
when vxmlrootinline is enabled the root document is generated inline and not as a separate document, there for the order that a grammar appears in the vxml dictates which is selected in the case of multiple matches. Since the link appears first it is activated. As section 3.1.4 says below.

if you disable vxmlrootinline, then the link is in the root document and you will get the behavior you expect.
SathakAbdulHameedSathakathulla
Joined: Dec 9, 2009
Messages: 0
Offline
I tried vxmlrootinline=disabled and it still picks from the rot grammar.

I have the dd something like this... DDEntryModule --> DDAccountInforModule --> DDPayBillModule


I modified the vxmlrootinline=disabled in DDPayBillModule.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
you have to change that setting in the MAIN application not the module that file ddrt.properties is only read once for the entire application.

Go to:   
Mobile view