- 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