- From: Markku Savela <msa@msa.tte.vtt.fi>
- Date: Tue, 5 Feb 2002 10:39:35 +0200
- To: www-voice@w3.org
> From: Jean-Michel Reghem <reghem@babeltech.com> > > <catch event="nomatch noinput" count="3" cond="some-expression"> > > ... > > </catch> > > > >Should the counter associated with this catcher increment if event > >matches, but the cond evaluates to false? Or, increment count only if > >both event matches and cond is true? > normally, it is incremented all the time, but the catch is only interpreted > when condition is matched ... Perhaps. The latter interperation might be useful for something like <catch count="3" cond="_event != 'nomatch'> .. .. catch would fire on any 3rd event, which is NOT 'nomatch' .. </catch> However, I'm *still* questioning the sanity of the event counting semantics. In "5.2.2 Catch": event The event or events to catch. This may be an empty string indicating that all events are to be caught. Alternatively, a space-separated list of events may be specified, indicating that this <catch> element catches all the events named in the list. In such a case a separate event counter (see "count" attribute) is maintained for each event. If the attribute is unspecified, all events are to be caught. count This seems to require that in case of <catch event="noinput nomatch" count="3"> we should keep a separate counter for 'noinput' and 'nomatch', and catch doesn't fire until one of them separately gets to 3 (e.g. a sequence "noinput + nomatch + nomatch + noinput" does not fire the catch?). In my view it should. What does the VoiceXML draft mean? I cannot figure it out. To me, a much cleaner semantic description would be: A counter is associated with each currently *active* catch element, and incremented every time when, an event matching the catch element occurs. Counter starts from zero, when catch is activated (like entering form/menu or form item etc.). [the "matching" includes the cond expression, too]
Received on Tuesday, 5 February 2002 03:37:41 UTC