ID |
Spec. Reference |
Abstract |
1 |
[1.2.5] |
For each HTTP request, the interpreter identifies itself using the User-Agent header in the format "name/version".
|
2 |
[1.2.5] |
The interpreter must be able to freely sequence TTS and audio output.
|
7 |
[1.2.5] |
The interpreter must be able to receive speech recognition grammar data dynamically.
|
8 |
[1.2.5] |
The interpreter must be able to record audio received from the user.
|
11 |
[1.3] |
If a URI does not refer to a document, the current document is assumed.
|
12 |
[1.3] |
If a URI does not refer to a dialog, the first dialog is assumed.
|
18 |
[1.3.1] |
A menu contains choices that can define transitions when matched.
|
19 |
[1.3.1] |
A subdialog invokes a new dialog that once done, returns to the original context.
|
20 |
[1.3.1] |
Upon return to the calling context all variable instances, grammars, and state information are restored.
|
24 |
[1.3.3] |
An application root document's
variables are defined and reachable via the application scope upon the
loading of a document that specifies it as the application root. |
25 |
[1.3.3] |
An application root document's
variables are not reinitialized as the user transitions between
documents that both specify it as the application root. |
26 |
[1.3.3] |
An application root document's
variables are no longer reachable from the application scope when the
user transitions to a document not in that application. |
27 |
[1.3.3] |
An application root document's grammars are active during each time the interpreter listens, until it is unloaded.
|
28 |
[1.3.4] |
A dialog can receive input matching a single grammar such that no other grammars are active.
|
29 |
[1.3.4] |
A dialog can receive input matching one of several active grammars.
|
30 |
[1.3.4] |
A user can direct interpretation in
scenarios where grammars outside the current dialog are active, by
matching one of these grammars, at which point execution transitions to
the dialog containing the matched grammar. |
32 |
[1.3.5] |
The platform can throw a semantic error upon encountering an error in VoiceXML semantics.
|
36 |
[1.3.5] |
Catch elements are inherited by enclosing elements by copy.
|
37 |
[1.3.6] |
A link specifies a grammar that is active whenever a user is in the scope of the link.
|
41 |
[1.5] |
A document may have meta elements.
|
42 |
[1.5] |
A document may have var elements.
|
43 |
[1.5] |
A document may have script elements.
|
44 |
[1.5] |
A document may have property elements.
|
45 |
[1.5] |
A document may have catch elements.
|
46 |
[1.5] |
A document may have link elements.
|
48 |
[1.5.1] |
The next dialog is determined by the previous dialog.
|
50 |
[1.5.1] |
The version attribute is required on the vxml tag.
|
52 |
[1.5.1] |
The xml:base attribute must be allowed on the vxml tag.
|
53 |
[1.5.1] |
The xml:lang attribute must be allowed on the vxml tag.
|
54 |
[1.5.1] |
The application attribute must be allowed on the vxml tag.
|
55 |
[1.5.1] |
The value of xml:lang must be
inherited down the document hierarchy by elements which also define the
xml:lang attribute and do not have an alternative value. |
56 |
[1.5.2] |
The interpreter supports having an application root document and an application leaf document.
|
58 |
[1.5.2] |
When a leaf document causes a root document to be loaded, none of the dialogs in the root document are executed.
|
59 |
[1.5.2] |
Application root document variables are available for use by the leaf document.
|
61 |
[1.5.2] |
Common ECMAScript code can be defined in the application root and used in leaf documents.
|
62 |
[1.5.2] |
Application root catch handlers are default handlers for leaf documents.
|
72 |
[1.5.2] |
When transitioning between two leaf
documents that both specify the same application fully resolved URI
then the transition must preserve the application root document's
variables for use by the second leaf document. |
73 |
[1.5.2] |
A transition from an application leaf
document to its own application root document caused by a 'goto' must
preserve the application root document's variables for use by the root
document. |
74 |
[1.5.2] |
If a transition occurs as the result
of a submit between an application leaf document and its own
application root document the application root document's variables
must be re-initialized. |
75 |
[1.5.2] |
If a transition occurs from an
application root document to itself then it must reinitialize the
application root document's variables. |
76 |
[1.5.2] |
If a transition occurs from an
application root document to a different application root document it
must initialize the new application root document and use the new
application root document's variables. |
77 |
[1.5.2] |
When a subdialog is invoked the
original document and root document must be preserved for the
completion of the subdialog. |
80 |
[1.5.2] |
If a document refers to a non-existent application root document, an error.badfetch event is thrown.
|
82 |
[1.5.3] |
A document may contain a subdialog element.
|
83 |
[1.5.3] |
A document may contain a return element.
|
84 |
[1.5.3] |
Subdialogs add a new executable context when they are invoked.
|
85 |
[1.5.3] |
A subdialog can be a new dialog within the existing document.
|
86 |
[1.5.3] |
A subdialog can be a new dialog within a new document.
|
87 |
[1.5.3] |
A subdialog can be composed of several documents.
|
88 |
[1.5.3] |
A subdialog's new context may itself invoke a subdialog.
|
89 |
[1.5.4] |
A VoiceXML interpreter may continue executing even after it no longer has a connection to the user.
|
93 |
[2.1] |
A form may contain form items, which
are subdivided into input items ( <field>, <record>,
<transfer>, <object>, <subdialog>) and control items
(<block> and <initial>). |
96 |
[2.1] |
A form may contain <var> elements.
|
97 |
[2.1] |
A form may contain event handlers: <catch>, <error>, <help>, <noinput>, and <nomatch>.
|
98 |
[2.1] |
A form may contain <filled> elements.
|
99 |
[2.1] |
A form may specify an id attribute.
|
100 |
[2.1] |
A form may specify a scope attribute which specifies the default scope of the form's grammars.
|
111 |
[2.1.6.2.3] |
FIA ends when it encounters a <goto>.
|
112 |
[2.1.6.2.3] |
FIA ends when it encounters a <submit>.
|
113 |
[2.1.6.2.3] |
FIA ends when it encounters an <exit>.
|
114 |
[2.1.6.2.3] |
FIA ends when it encounters a <return>.
|
138 |
[2.1.6.1] |
The value of the name attribute of a
form item defines a dialog-scoped variable that holds the value of the
form item, i.e., dialog.name is a reference to the form item variable. |
143 |
[2.1.6.1] |
A form item variable does not need to have a name attribute.
|
145 |
[2.1.5] |
A form may have one or more initial form items.
|
147 |
[2.1.5] |
If a form has a form level grammar, its input items can be filled in any order.
|
148 |
[2.1.5] |
If a form has a form level grammar, more than one input item can be filled as a result of any one user utterance.
|
149 |
[2.1.5] |
A form-level grammar can fill the
following form items: <field>, <record>, <transfer>,
<object> and <subdialog>. |
152 |
[2.1.6.2.1] |
For all types of form item, if the
form item is assigned a value, that form item is not eligible to be
visited by the FIA (unless/until it is subsequently set to undefined). |
153 |
[2.1.6.2.1] |
Using the clear tag on a form item
variable will make it eligible to be visited by the FIA (provided that
it does not have a cond attribute evaluating to false). |
154 |
[2.1.6.2.1] |
Using the goto nextitem will force the FIA to immediately transition to the chosen form item.
|
163 |
[2.1.6.2.1] |
If the last main FIA loop resulted in a goto nextitem or goto expritem then the specified form item is selected.
|
165 |
[2.1.6.2.1] |
If the last main FIA loop did not
result in a goto nextitem and there is no form item which is eligible
to be visited then an implicit exit is generated. |
183 |
[2.1.6.2.3] |
If in the collect phase an event occurs the appropriate catch element is identified and executed in the process phase.
|
185 |
[2.1.6.2.3] |
If an event handler, executed after an
event is thrown while processing a form item, transfers control with a
<goto> or <submit>, the FIA resumes in the new form at the
initialisation phase. |
186 |
[2.1.6.2.3] |
If an event handler, executed after an
event is thrown while processing a form item, does not transfer control
with a <goto> or <submit> the FIA resumes in the current
form at the selection phase. |
187 |
[2.1.6.2.3] |
If an input from the collect phase matches a link than the associated link's transition is executed if present.
|
188 |
[2.1.6.2.3] |
If an input from the collect phase matches a link than the associated link's event is thrown if present.
|
189 |
[2.1.6.2.3] |
If a link throws an event the event is processed in the context of the current form item.
|
190 |
[2.1.6.2.3] |
If an input matches a grammar in a
form other than the current form, then the FIA terminates and the other
form is initialized. |
192 |
[2.1.6.2.3] |
If an input matches a grammar in a
form other than the current form then that form's FIA starts with this
input in its process phase. |
195 |
[2.1.6.2.3] |
If an input matches a grammar in the form then each identified filled action is executed in document order.
|
197 |
[2.1.6.2.3] |
While executing a filled, processing of filled actions continues after a <reprompt>.
|
198 |
[2.1.6.2.3] |
If an event is thrown during the
execution of a <filled>, event handler selection starts in the
scope of the <filled>, which could be a form item or the form
itself, and then proceeds outward by enclosing dialog scopes. |
200 |
[2.2] |
If a menu is given an id attribute, the menu can be referenced using goto.
|
201 |
[2.2] |
If a menu's scope attribute is set to
"dialog", the menu's grammars are active only when the user transitions
into the menu. |
202 |
[2.2] |
If a menu's scope attribute is set to
"document", the menu's grammars are active over the whole document (or
if the menu is in the application root document, any loaded document in
the application). |
203 |
[2.2] |
If a menu's dtmf attribute is set to
"true", the first nine choices that have not explicitly specified a
value for the dtmf attribute are given the implicit ones "1", "2", etc.
Remaining choices that have not explicitly specified a value for the
dtmf attribute will not be assigned DTMF values (and thus cannot be
matched via a DTMF keypress). |
204 |
[2.2] |
The dtmf attribute of choice can specify a sequence of DTMF digits. Whitespace is ignored.
|
205 |
[2.2] |
When the DTMF associated with the
choice is matched, the appropriate action is taken based on the next,
expr, event or eventexpr attribute. |
206 |
[2.2] |
When the accept attribute of choice is
set to "exact", or is not set and the accept attribute of its enclosing
menu is set to "exact", or neither choice's accept attribute nor menu's
is set, then the text of the choice element defines the exact phrase to
be recognized. The user must say the entire phrase in the same order in
which it occurs in the choice element phrase for matching this element.
|
208 |
[2.2] |
Exactly one of the next, expr, event,
and eventexpr attributes must be specified. Otherwise an error.badfetch
event is thrown. |
209 |
[2.2] |
When the grammar associated with a
choice element is matched, the URI associated with the "next" or "expr"
element is fetched and transitioned to. |
210 |
[2.2] |
When the grammar associated with a
choice element is matched, the event associated with the event or
eventexpr attribute is thrown. |
211 |
[2.2] |
When "next" or the result of "expr" is not a correct URI, error.badfetch is thrown.
|
212 |
[2.2] |
The message attribute defines a string
that is available as the variable _message inside a catch element that
catches the event being thrown. |
213 |
[2.2] |
The messageexpr attribute is an
ECMAScript expression evaluating to the variable _message inside the
catch element which catches the event being thrown. |
215 |
[2.2] |
If a grammar element is specified in
choice, then the external grammar is used instead of an automatically
generated grammar. |
216 |
[2.2] |
The enumerate element without content
inside a prompt lists all the choices, following the order in which
they appear in the menu. |
217 |
[2.2] |
The enumerate element with content
defines a template specifier that will list all the choices. Two
special variables are defined |
218 |
[2.2] |
An enumerate element can be used inside prompts associated with a menu element.
|
219 |
[2.2] |
An enumerate element can be used inside catch element elements associated with a menu element.
|
220 |
[2.2] |
An enumerate element can be used inside prompts associated with a field element that contain option elements.
|
221 |
[2.2] |
An enumerate element can be used
inside catch element elements associated with a field element that
contain option elements. |
222 |
[2.2] |
If an enumerate element is used elsewhere, an error.semantic event is thrown.
|
223 |
[2.2] |
Grammar matches within menu will update the application.lastresult$ array.
|
224 |
[2.2] |
If the event handler called after
matching a choice with an event or eventexpr attribute does not cause
the interpreter to exit or transition control, then the FIA will clear
the form item variable of the menu's anonymous field, causing the menu
to be executed again. |
232 |
[2.3.1] |
The variable associated with the name attribute of the field holds the recognition result.
|
233 |
[2.3.1] |
The named variable associated with the
field must be unique among form items in the form; otherwise,
error.badfetch is thrown. |
234 |
[2.3.1] |
If specified, the value of the expr attribute is evaluated and serves as the form item variable's initial value.
|
235 |
[2.3.1] |
The default value of the expr attribute is ECMAScript undefined.
|
236 |
[2.3.1] |
If the form item is initialized to a
value via evaluation of the expr attribute, the form item will not be
visited unless the form item variable is cleared. |
237 |
[2.3.1] |
If the cond attribute is present and its value evaluates to boolean false, the field is not visited.
|
238 |
[2.3.1] |
The form item can also be visited if the cond attribute is not specified.
|
240 |
[2.3.1] |
The value of the slot attribute
defines the name of the grammar slot used to populate the form item
variable of the field. |
241 |
[2.3.1] |
If the slot attribute is absent, the
interpreter uses the value associated with the name attribute of the
field to map the grammar slot to the form item variable. |
242 |
[2.3.1] |
If the value of the modal attribute is false, all active grammars are turned on while collecting this field.
|
243 |
[2.3.1] |
If the value of the modal attribute is
true, then only the field's grammars are enabled, and all other
grammars are temporarily disabled. |
244 |
[2.3.1] |
The field element exposes a shadow
variables named confidence, utterance, inputmode, and interpretation.
The values of the utterance and inputmode shadow variables correspond
to the values of the corresponding properties of the first object in
the application-scoped lastresult$ array. |
245 |
[2.3.1] |
The confidence shadow variable is the
confidence level for the name field of this interpretation and may
range from 0.0-1.0. A value of 0.0 indicates minimum confidence, and a
value of 1.0 indicates maximum confidence. |
246 |
[2.3.1.1] |
A field may contain a grammar element whose src attribute can specify an absolute or relative URI.
|
247 |
[2.3.1.1] |
A grammar can be specified inline.
|
248 |
[2.3.1.1] |
error.badfetch is thrown if a grammar specifies a src attribute and an inline grammar.
|
254 |
[2.3.1.3] |
The PCDATA contained by an option element within a field generates a speech grammar.
|
255 |
[2.3.1.3] |
When an option is chosen, the value
attribute determines the interpretation value for the field's shadow
variable and for application.lastresult$. |
256 |
[2.3.1.3] |
The dtmf attribute of an option element defines the DTMF sequence required for the option to be selected.
|
257 |
[2.3.1.3] |
When the accept attribute of an option
element is set to "exact", the PCDATA of the option defines the exact
phrase to be recognized for the option to be selected. |
258 |
[2.3.1.3] |
Both option and grammar elements may be specified within a field.
|
259 |
[2.3.2] |
The interpreter executes content contained in the block.
|
260 |
[2.3.2] |
The interpreter visits the block when
the cond attribute evaluates to true and the form item variable
associated with the block is undefined. |
261 |
[2.3.2] |
The interpreter ignores the block when the form item variable associated with the block is defined via expr.
|
262 |
[2.3.2] |
The interpreter ignores the block when the form item variable associated with the block is set via an assign.
|
263 |
[2.3.4] |
The interpreter executes the subdialog associated with the src or srcexpr attribute.
|
267 |
[2.3.4] |
If the called subdialog is in a
separate document then variables from the calling document, and dialog
scope are inaccessible to the subdialog. |
268 |
[2.3.4] |
The variables passed to the subdialog
via the <param> element are accessible as variables within the
dialog scope of the invoked subdialog. A <param> overrides the
corresponding <var> expr attribute which is ignored. |
269 |
[2.3.4] |
The interpreter throws error.badfetch
after the specified fetchtimeout when the URL associated with the src
or srcexpr attribute points to a non-existent resource. |
270 |
[2.3.4] |
Exactly one of "src" or "srcexpr" must be specified; otherwise, an error.badfetch event is thrown.
|
271 |
[2.3.4] |
If the subdialog returns a namelist,
the filled element contained by the subdialog is executed upon return
from the subdialog. |
272 |
[2.3.5] |
If an object element refers to an unknown object, the error.unsupported.objectname event is thrown.
|
273 |
[2.3.6] |
Any DTMF keypress matching an active grammar terminates recording.
|
274 |
[2.3.6] |
DTMF keypresses not matching an active
grammar are ignored (and therefore do not terminate or otherwise affect
recording). |
275 |
[2.3.6] |
If the termination grammar matched is a local DTMF grammar, the recording is placed in the record variable.
|
277 |
[2.3.6] |
The variable associated with the name
attribute references the recorded audio, and the audio can be played
back using audio expr. |
278 |
[2.3.6] |
The variable associated with the name
attribute of the record element can be submitted via the namelist of
the submit element. The submitted audio is valid. |
279 |
[2.3.6] |
If a recording is created, the
name$.duration shadow variable holds the duration (positive integer) of
the recording in milliseconds. |
281 |
[2.3.6] |
The name$.size variable holds the size (positive integer) of the recording in bytes.
|
282 |
[2.3.6] |
If the dtmfterm attribute is true, and
the user terminates the recording by pressing a DTMF key which doesn't
match any active DTMF grammar, then the name$.termchar shadow variable
is set to the key pressed. |
283 |
[2.3.6] |
If the dtmfterm attribute is false,
and user presses a key which does not match any active DTMF grammar,
then recording is not terminated and the name$.termchar shadow variable
is undefined when the recording terminates |
284 |
[2.3.6] |
name$.maxtime shadow variable is true
if the recording was terminated because the duration specified by the
maxtime attribute was reached. |
312 |
[2.4] |
When <filled> is a child of a
<form>, and the mode attribute is set to "any", the filled is
executed when any of the form items specified in the namelist has been
filled. |
313 |
[2.4] |
When <filled> is a child of a
<form>, and the mode attribute is set to "all", the filled is
executed when all of the form items specified in the namelist have been
filled. |
314 |
[2.4] |
A <filled> element within an input item cannot specify a mode.
|
315 |
[2.4] |
A <filled> element within an input item cannot specify a namelist.
|
316 |
[2.4] |
Control items may not be specified in the namelist of the <filled> element.
|
317 |
[2.5] |
A link element may have one or more grammars that are scoped to the element containing the link.
|
319 |
[2.5] |
When a link specifying next or expr is
matched, the interpreter transitions to the document or dialog
specified by next or expr. |
320 |
[2.5] |
A link can be a child of vxml, form, or of the form items field and initial.
|
321 |
[2.5] |
A link at the form level has grammars active while the user is in that form.
|
322 |
[2.5] |
If an application root document has a
document-level link, its grammars are active no matter what document of
the application is being executed. |
323 |
[2.5] |
A link at the vxml level has grammars that are active throughout the document.
|
324 |
[2.5] |
If execution is in a modal form item,
then link grammars at the form or document level are not active. [Not
application?] |
325 |
[2.5] |
When a link that specifies event or eventexpr is matched, the specified event is thrown.
|
326 |
[2.5] |
Events thrown as a result of matching
a link are thrown at the current location in the execution, not at the
location where the link is specified. |
327 |
[2.5] |
When a link is matched, application.lastresult$ is assigned.
|
328 |
[2.5] |
A link may specify a message or
messageexpr attribute providing additional context about the event
being thrown. The message is available as the value of the _message
variable within the scope of the catch element the interpreter selects
to handle the event. |
329 |
[2.5] |
A link may specify a dtmf attribute
that identifies the sequence of DTMF digits that cause the interpreter
to activate the link. |
330 |
[2.5] |
Exactly one of next, expr, event or eventexpr must be specified; otherwise, an error.badfetch event is thrown.
|
331 |
[2.5] |
Exactly one of message or messageexpr may be specified; otherwise, an error.badfetch event is thrown.
|
332 |
[3.1.1] |
During a dialog, the interpreter can
receive input from the user via the user's spoken utterance, such that
the spoken utterance is one of those described by an active grammar. |
333 |
[3.1.1] |
A grammar can be specified in the format of the XML Form of the W3C Speech Recognition Grammar Specification (SRGS).
|
336 |
[3.1.1.1] |
A grammar element can contain child
XML elements, such that those elements taken in context of the
enclosing grammar element comprise a proper SRGS grammar. |
337 |
[3.1.1.2] |
A grammar element can specify a 'src' attribute specifying a URI which returns the data of a grammar.
|
338 |
[3.1.1.2] |
A document containing a grammar
element specifying both a 'src' attribute and an inline grammar
description causes the Interpreter to throw an 'error.badfetch' event
upon fetching of the document. |
344 |
[3.1.2] |
During a dialog, the Interpreter can
receive input from the user via a set of dual tone multi frequency
(DTMF) key presses, such that the sequence of presses is one of those
described by an active grammar. |
345 |
[3.1.2] |
A DTMF grammar can be specified using the XML form of the SRGS grammar format, as described in the SRGS specification.
|
346 |
[3.1.2] |
A "xml:lang" attribute can be specified on a DTMF grammar, but has no effect upon the grammar handling.
|
348 |
[3.1.3] |
A grammar element specifying a "scope"
attribute as a child of a field item throws an "error.badfetch" upon
parsing. [This tests scope="dialog".] |
357 |
[3.1.3] |
A grammar element specifying a "scope" attribute as a child of a link element throws an "error.badfetch" upon parsing.
|
359 |
[3.1.3] |
A grammar element specifying a "scope" attribute as a child of a menu element throws an "error.badfetch" upon parsing.
|
361 |
[3.1.6] |
If a grammar matches but does not return a semantic interpretation, the raw text string for the utterance will be used.
|
362 |
[3.1.6.1] |
If a form-level grammar matches and
returns a semantic interpretation for a field name or slot that is a
non-scalar ECMAScript variable, the field will be filled with that
non-scalar ECMAScript value. The selected property may be a compound
object. |
363 |
[3.1.6.1] |
The slot attribute of the field element can be used to select a sub-property of the result.
|
364 |
[3.1.6.1] |
A specific slot value can fill more than one field if the slot names of the fields are the same.
|
365 |
[3.1.6.2] |
If the result from a field-level grammar is a simple result, it is assigned to the input item variable.
|
366 |
[3.1.6.2] |
If the result from a field-level
grammar is a structure and the slot name matches a property, this
property is assigned to the input item variable. |
367 |
[3.1.6.2] |
If the result from a field-level
grammar is neither a simple result nor a structure with a property that
matches the slot name, the entire semantic result is assigned to the
input item variable. |
369 |
[4.1.3] |
The interpreter fetches and plays the URI associated with the src attribute of the audio element.
|
370 |
[4.1.3] |
If src and expr are specified on an audio element, error.badfetch is thrown.
|
371 |
[4.1.3] |
The interpreter evaluates, fetches, and plays the URI associated with the expr attribute of the audio element.
|
372 |
[4.1.3] |
If expr is set to ECMAScript undefined the audio element is ignored.
|
373 |
[4.1.3] |
If the URI associated with src is unavailable, the interpreter renders the content contained by the audio element.
|
374 |
[4.1.3] |
If the URI associated with expr is unavailable, the interpreter renders the content contained by the audio element.
|
375 |
[4.1.3] |
If the URI associated with src is unavailable, and the audio element doesn't contain content, no error is thrown.
|
376 |
[4.1.3] |
If the URI associated with expr is unavailable, and the audio element doesn't contain content, no error is thrown.
|
377 |
[4.1.4] |
If the expr attribute specifies a valid ECMAScript expression, the value element evaluates it correctly.
|
378 |
[4.1.4] |
If the expr attribute specifies an invalid ECMAScript expression, error.semantic is thrown.
|
381 |
[4.1.5] |
When the bargein attribute is set to
false on a prompt, any DTMF input buffered in a transition state is
deleted from the buffer |
388 |
[4.1.7] |
If the interval specified by the
timeout attribute of the prompt element is exceeded, the platform will
throw a noinput event. The default is the value specified by the
timeout property |
389 |
[4.1.7] |
If several prompts are queued before a field input, the timeout of the last prompt is used.
|
390 |
[5.1] |
VoiceXML variables and ECMAScript variables are contained in the same variable space.
|
391 |
[5.1] |
VoiceXML variables can be used in a script. Variables defined in a script can be used in VoiceXML.
|
392 |
[5.1] |
script can appear everywhere that var can appear.
|
393 |
[5.1] |
Variable names that violate ECMAScript rules cause an error.semantic event to be thrown.
|
394 |
[5.1.1] |
Variables declared without an explicit initial value are initialized to ECMAScript undefined.
|
395 |
[5.1.1] |
Variables must be declared prior to
use. Assigning to an undeclared variable does not automatically create
it. Instead, it results in error.semantic being thrown. |
396 |
[5.1.1] |
In a form, variables declared by var
and by form items are initialized every time the form is entered. These
initializations take place in document order. |
397 |
[5.1.2] |
Variables can be declared in
application, document, dialog and anonymous scopes. Variables declared
at one scope are visible at that scope and all more local scopes. |
398 |
[5.1.2] |
Variables in session scope can be read but not written by VoiceXML documents.
|
399 |
[5.1.2] |
var and script elements that are
children of the application root document's vxml element create their
variables at application scope. They are no longer accessible when
another application is entered. |
400 |
[5.1.2] |
var and script elements that are
children of the document's vxml element create their variables at
document scope. They are no longer accessible when another document is
entered. |
401 |
[5.1.2] |
var and script elements that are
children of a form element (but not in an anonymous scope) create their
variables at dialog scope. They are no longer accessible when another
dialog is entered. |
402 |
[5.1.2] |
var and script elements that are
children of block, filled and catch elements (including synonyms for
catch, such as nomatch) create their variables at anonymous scope. |
403 |
[5.1.2] |
Each block, filled and catch element
has its own new and separate anonymous scope. The scope is no longer
accessible once the element is exited. |
404 |
[5.1.2] |
Scopes are not cleared when they
become inaccessible. Instead, the old scope object is left to exist (or
to be garbage collected) and a new one is created and linked into the
scope hierarchy. References to previously-existing scope objects will
continue to access the old scope objects. |
405 |
[5.1.2] |
Each scope contains a predefined variable whose name is the same as the scope that refers to the scope itself.
|
406 |
[5.1.2] |
"session", "application", "document", and "dialog" are not reserved words.
|
407 |
[5.1.2] |
When executing in a document that does
not have a separate application root document, the application and
document scopes are the same; that is, a single scope has variables
named both "application" and "document" that are references to the
scope itself. This includes execution in an application root document's
var and script elements. |
408 |
[5.1.3] |
Variable references match the closest enclosing scope.
|
416 |
[5.1.5] |
application.lastresult$ contains an array of elements, or ECMAScript undefined.
|
418 |
[5.1.5] |
Each element of application.lastresult$ contains "confidence", "utterance", "inputmode" and "interpretation" properties.
|
419 |
[5.1.5] |
The "confidence" property of an
element of application.lastresult$ will be a number, not less than 0.0
and not greater than 1.0. |
420 |
[5.1.5] |
The "utterance" property of an element of application.lastresult$ will be a string.
|
421 |
[5.1.5] |
The "inputmode" property of an element of application.lastresult$ will be either "dtmf" or "voice".
|
422 |
[5.1.5] |
The "interpretation" property of an
element of application.lastresult$ will contain the interpretation as
described in section 3.1.5. |
423 |
[5.1.5] |
The elements of
application.lastresult$ will be sorted from highest confidence score to
lowest, with ties resolved by sorting by the precedence relationship
among the grammars producing the interpretations. |
424 |
[5.1.5] |
Different elements in application.lastresult$ will always differ in their utterance, interpretation, or both.
|
425 |
[5.1.5] |
The number of elements in
application.lastresult$ is never more than the value of the property
"maxnbest", and never less than one, unless the value of
application.lastresult$ itself is undefined. |
426 |
[5.1.5] |
If the value of
application.lastresult$ is not undefined, application.lastresult$
itself will contain the properties confidence, utterance, inputmode and
intepretation corresponding to those of application.lastresult$[0]. |
428 |
[5.1.5] |
application.lastresult$ is not changed after a noinput.
|
430 |
[5.2] |
Catch elements are inherited as if by
copy. This affects scope resolution, further thrown events, and
relative URL references. |
431 |
[5.2.1] |
The interpreter throws the named event.
|
432 |
[5.2.1] |
The interpreter observes event counting when an application-defined event is thrown.
|
433 |
[5.2.1] |
If neither event nor eventexpr are specified then an error.badfetch event is thrown.
|
434 |
[5.2.1] |
If both event and eventexpr are specified then an error.badfetch event is thrown.
|
435 |
[5.2.1] |
If both message and messageexpr are specified then an error.badfetch event is thrown.
|
436 |
[5.2.2] |
A VoiceXML interpreter must execute the content within the selected event handler.
|
437 |
[5.2.2] |
Anonymous scope variables _event and _message are available within the event handler.
|
438 |
[5.2.2] |
Assuming no cond or count attribute
specified, given a field level event handler, the interpreter must
select it when the corresponding event is thrown. |
439 |
[5.2.2] |
Assuming no cond or count attribute
specified and no field-level event handler, given a form-level event
handler, the interpreter must select it when the corresponding event is
thrown. |
440 |
[5.2.2] |
Assuming no cond or count attribute
specified and no field- or form-level event handler, given a
document-level event handler, the interpreter must select it when the
corresponding event is thrown. |
441 |
[5.2.2] |
Assuming no cond or count attribute
specified and no field-, form-, or document-level event handler, given
an application-level event handler, the interpreter must select it when
the corresponding event is thrown. |
442 |
[5.2.2] |
If the cond attribute of the most
inner-scoped event handler evaluates to false, the interpreter must not
select it and instead select the next qualifying event handler. |
443 |
[5.2.2] |
The cond attribute of an event handler must be evaluated in the context of the scope where the event is thrown.
|
444 |
[5.2.2] |
The interpreter executes the event handler with highest count attribute not greater than the actual event count.
|
446 |
[5.2.2] |
Event count matching takes precedence
over scoping, ie on the second occurrence of an event a root document
level handler with count=2 takes precedence over a field level handler
with count=1 |
448 |
[5.2.2] |
The interpreter maintains a separate
count for each event when multiple events specified in the event
attribute of the catch element. |
449 |
[5.2.2] |
If unspecified, the count attribute of the catch element defaults to 1.
|
450 |
[5.2.2] |
The interpreter selects the first
handler in document order when two or more event handlers have the same
count attribute and scope. |
451 |
[5.2.2] |
The interpreter executes a handler
that speciifies a space-delimited list of events in the event attribute
when the corresponding events are thrown. |
452 |
[5.2.2] |
An event handler catches all events if the event attribute not specified.
|
453 |
[5.2.2] |
An event handler catches all events
for which the event attribute specifies a token prefix of the event (NB
token prefix matching is done after removing trailing dots.) |
454 |
[5.2.2] |
An event handler does not catch events
for which the event attribute specifies a string prefix of the event
which is not a token prefix. |
455 |
[5.2.3] |
Exactly one of "next", "expr", "event"
or "eventexpr" must be specified; otherwise, an error.badfetch event is
thrown. Exactly one of "message" or "messageexpr" may be specified;
otherwise, an error.badfetch event is thrown. |
457 |
[5.2.3] |
When event or eventexpr is specified, and the link is matched, the corresponding event is thrown.
|
458 |
[5.2.3] |
When next or expr is specified, and the link is matched, the interpreter navigates to the specified URI.
|
460 |
[5.2.3] |
The noinput element is executed when an noinput event is thrown.
|
461 |
[5.2.3] |
The noinput element obeys the same
selection and execution rules as a catch element whose event attribute
is set to "noinput". |
462 |
[5.2.3] |
The noinput element has exactly equal
precedence to a catch element that specifies the noinput event, ie the
choice between a catch element and a noinput element at the same scope
level and count is made on the basis of document order. |
464 |
[5.2.3] |
The nomatch element is executed when a nomatch event is thrown.
|
465 |
[5.2.3] |
The nomatch element obeys the same
selection and execution rules as a catch element whose event attribute
is set to "nomatch". |
466 |
[5.2.3] |
The nomatch element has exactly equal
precedence to a catch element that specifies the nomatch event, ie the
choice between a catch element and a nomatch element at the same scope
level and count is made on the basis of document order. |
468 |
[5.2.3] |
The error element is executed when an error event is thrown.
|
469 |
[5.2.3] |
The error element is executed when a more specific error event is thrown (e.g. error.badfetch)
|
470 |
[5.2.4] |
The error element is executed when an application-defined event prefixed with "error" is thrown.
|
471 |
[5.2.3] |
The error element has exactly equal
precedence to a catch element that specifies the error event, ie the
choice between a catch element and an error element at the same scope
level and count is made on the basis of document order. |
472 |
[5.2.3] |
The error element obeys the same selection rules as a catch element whose event attribute is set to "error".
|
473 |
[5.2.3] |
The error element obeys the same execution rules as a catch element whose event attribute is set to "error".
|
474 |
[5.2.3] |
The help element is executed when an help event is thrown.
|
475 |
[5.2.3] |
The help element obeys the same selection and execution rules as a catch element whose event attribute is set to "help".
|
476 |
[5.2.3] |
The help element has exactly equal
precedence to a catch element that specifies the help event, ie the
choice between a catch element and a help element at the same scope
level and count is made on the basis of document order. |
478 |
[5.2.4] |
An event handler catches all events if the event attribute consists of a single dot (".").
|
479 |
[5.2.4] |
Event handlers which specify more
specific event names, eg event.foo.bar have equal precedence with event
handlers that specify less specific event names, eg event.foo |
480 |
[5.2.4] |
Event handlers are executed in the
context in which the event was thrown. Check for the existence of
variables in the scope in which the event was thrown. |
481 |
[5.2.4] |
Event handlers are executed in the
context in which the event was thrown. Check that URLs (audio/@src,
goto/@next, script/@src, etc) are resolved relative to the document in
which the event was thrown. |
482 |
[5.2.5] |
The interpreter must support a default
cancel event handler. No audio is provided, the interpreter does not
reprompt and does not exit. |
483 |
[5.2.5] |
The interpreter must support a default exit event handler. No audio is provided and the interpreter exits.
|
484 |
[5.2.5] |
The interpreter must support a default error event handler. The interpreter provides platform-specific audio and exits.
|
485 |
[5.2.5] |
The interpreter must support a default
help event handler. The interpreter provides platform-specific audio
and reprompts. |
486 |
[5.2.5] |
The interpreter must support a default noinput event handler. No audio is provided and the interpreter reprompts.
|
487 |
[5.2.5] |
The interpreter must support a default
nomatch event handler. The interpreter provides platform-specific audio
and reprompts. |
488 |
[5.2.5] |
The interpreter must support a default
maxspeechtimeout event handler. The interpreter provides
platform-specific audio and reprompts. |
489 |
[5.2.5] |
The interpreter must support a default
connection.disconnect event handler. No audio is provided and the
interpreter exits. |
490 |
[5.2.5] |
For any other unhandled event, the interpreter provides platform-specific audio and exits
|
494 |
[5.2.6] |
When the user hangs up the connection.disconnect.hangup event is thrown.
|
497 |
[5.2.6] |
The nomatch event is thrown if the user says something and is not recognized.
|
498 |
[5.2.6] |
The maxspeechtimeout event is thrown if the user's input exceeds the maxspeechtimeout property.
|
499 |
[5.2.6] |
If the interpreter encounters a syntax
error while loading a document (eg no vxml element), it throws
error.badfetch in the requesting document. |
500 |
[5.2.6] |
If an invalid URL is specified for a
document fetch, the interpreter throws error.badfetch.http.404 in the
requesting document. |
501 |
[5.2.6] |
If a document fetch times out, the interpreter throws error.badfetch in the requesting document.
|
502 |
[5.2.6] |
If a server returns HTTP error code 4xx the event error.badfetch.http.4xx should be thrown in the requesting document.
|
503 |
[5.2.6] |
If a server returns HTTP error code 5xx the event error.badfetch.http.5xx should be thrown in the requesting document
|
505 |
[5.2.6] |
If an unsupported language is specified for speech recognition, the interpreter throws error.unsupported.language.
|
506 |
[5.2.6] |
If an unsupported language is specified for speech synthesis, the interpreter throws error.unsupported.language.
|
508 |
[5.2.6] |
If an unsupported grammar format is specified, the interpreter throws error.unsupported.format.
|
509 |
[5.3] |
If an executable element generates an
error, the error is thrown immediately. Subsequent executable elements
in that block of procedural logic are not executed. |
510 |
[5.3.1] |
A variable declared at document scope is accessible within an anonymous scope contained within the same document.
|
511 |
[5.3.1] |
Declaring a variable at an anonymous scope, the variable is not accessible within another anonymous scope.
|
512 |
[5.3.1] |
A variable declared at a higher scope (e.g. document) is shadowed by a variable at a lower scope (e.g. anonymous).
|
513 |
[5.3.1] |
When declaring the same variable
multiple times with different initial values in the same scope,
declarations will apply in document order. |
514 |
[5.3.2] |
When expr is set to a valid expression in an assign, the named variable is set correctly.
|
515 |
[5.3.2] |
If name is set to an undefined variable in an assign, error.semantic is thrown.
|
516 |
[5.3.2] |
If expr contains an undefined variable in an assign, error.semantic is thrown.
|
517 |
[5.3.2] |
If expr contains a semantic error (e.g.it contains a non-existent function named x), an error.semantic is thrown.
|
518 |
[5.3.3] |
When the namelist attribute of the
clear element specifies a specific set of one or more form item
variables, only those form items are cleared. |
519 |
[5.3.3] |
When the namelist attribute of the clear element is omitted, all form items in the current form are cleared.
|
520 |
[5.3.3] |
If variables that are not form item
variables are specified in the "namelist" attribute of the clear
element, those variables are set to ECMAScript undefined. |
521 |
[5.3.4] |
if parent cond of if element evaluates
to false, the interpreter executes the content following the else
element up to the closing if tag. |
522 |
[5.3.4] |
if parent cond of if element evaluates
to true, the interpreter does not execute the content following the
else element up to the closing if tag. |
523 |
[5.3.5] |
If a prompt element appears in
executable content, the "count" attribute is ignored, but the "cond"
element is respected. |
524 |
[5.3.5] |
Wherever prompt is allowed, PCDATA is treated as if it had been wrapped in prompt /prompt.
|
525 |
[5.3.6] |
Execution of a reprompt element causes
the FIA to perform normal selection and queueing of prompts after
execution of a catch element. |
526 |
[5.3.7] |
Setting next to a fully-qualified URL
(excluding fragment identifier) that points to an existing VoiceXML
document causes the INTERPRETER to transition to that document and
begin execution of the first form. |
527 |
[5.3.7] |
Setting next to a relative URL
(excluding fragment identifier) that points to an existing VoiceXML
document causes the INTERPRETER to transition to that document and
begin execution of the first form. |
528 |
[5.3.7] |
Setting next to a fully-qualified URL
including fragment identifier that points to an existing VoiceXML
document and form causes the INTERPRETER to transition to the document
and begin execution of the specified form. |
529 |
[5.3.7] |
Setting next to a relative URL
including fragment identifier that points to an existing VoiceXML
document and form causes the INTERPRETER to transition to that document
and begin execution of the specified form. |
530 |
[5.3.7] |
Setting expr to an ECMAScript
expression that evaluates to a fully-qualified URL (excluding fragment
identifier) that points to an existing VoiceXML document causes the
INTERPRETER to transition to that document and begin execution of the
first form. |
531 |
[5.3.7] |
Setting next to a URL that points to a
non-existent VoiceXML document causes the interpreter to throw a
catchable error.badfetch event. |
532 |
[5.3.7] |
Setting expr to a URL that points to a
non-existent VoiceXML document causes the INTERPRETER to thrown a
catchable error.badfetch event. |
533 |
[5.3.7] |
Setting next to a fragment identifier
that identifies an existing form in the current document causes the
INTERPRETER to transition to that form with the state of the current
document and application in tact. |
534 |
[5.3.7] |
Setting next to a non-fragment URL of
the current document causes the INTERPRETER to transition to the first
form of the current document and reset the state of the document
including any variables. |
535 |
[5.3.8] |
The URI referenced by submit's next or expr attribute is always fetched, even if it is just a fragment.
|
536 |
[5.3.8] |
If submit has a namelist attribute, all and only those variables are submitted.
|
537 |
[5.3.8] |
If submit has no namelist attribute, all and only the named input items in the current form are submitted.
|
538 |
[5.3.8] |
Both declared VoiceXML variables and
declared ECMAScript variables can be submitted. This includes
properties of ECMAScript objects. |
539 |
[5.3.8] |
Interpreters must support GET and POST as submit methods. GET must be the default.
|
541 |
[5.3.8] |
When an ECMAScript variable is submitted, its value is first converted to a string.
|
542 |
[5.3.8] |
Specifying a URL that points to a
non-existent resources causes the INTERPRETER to throw a catchable
error.badfetch event. |
543 |
[5.3.8] |
Exactly one of "next" or "expr" must be specified; otherwise, an error.badfetch event is thrown.
|
544 |
[5.3.9] |
Executing exit must terminate all loaded documents and return control to the interpreter context.
|
545 |
[5.3.9] |
If both "expr" and "namelist" attributes of exit are specified, an error.badfetch event is thrown.
|
546 |
[5.3.10] |
When return is executed while not inside a subdialog context, an error.semantic event is thrown.
|
547 |
[5.3.10] |
Exactly one of "event", "eventexpr" or "namelist" may be specified; otherwise, an error.badfetch event is thrown.
|
549 |
[5.3.10] |
The interpreter throws throws
error.semantic if a return element is encountered when not executing in
the context of a subdialog. |
550 |
[5.3.10] |
If the namelist attribute is
specified, the specified variables become properties of an ECMAScript
object accessible via the name attribute of the calling subdialog
element. |
551 |
[5.3.10] |
If the event or eventexpr attribute is specified, the named event is thrown at the invocation point.
|
552 |
[5.3.11] |
When the interpreter executes a disconnect element, it must drop the call.
|
553 |
[5.3.11] |
When the interpreter executes a disconnect element, it must throw a catchable connection.disconnect.hangup event.
|
554 |
[5.3.11] |
When the caller hangs up, the interpreter must throw a catchable connection.disconnect.hangup event.
|
555 |
[5.3.13] |
ECMAScript expressions within the PCDATA in log must be evaluated in document order.
|
556 |
[5.3.12] |
A script element is executed in the scope of its containing element.
|
557 |
[5.3.12] |
When a script element declared in a
block element contains a function, an attempt to call that function
from another block causes the INTERPRETER to throw an error
(error.semantic?) |
558 |
[5.3.12] |
A variable declared using the var element is accessible to a script declared at equal more local scope.
|
559 |
[5.3.12] |
A variable declared within an inline
or externally referenced script block is accessible from a var or
assign element declared at equal or more local scope. |
560 |
[5.3.12] |
When the script element specifies a
src attribute that references a URL that references a non-existent
resource, the interpreter throws error.badfetch. |
561 |
[5.3.12] |
Either an "src" attribute or an inline
script (but not both) must be specified; otherwise, an error.badfetch
event is thrown. |
562 |
[5.3.13] |
The use of the log element has no side-effects on interpretation.
|
563 |
[6.1.1] |
The interpreter context is always required to honor the safe fetchhint.
|
564 |
[6.1.1] |
When transitioning from one dialog to
another if the referenced URI names a document (e.g.
"doc.vxml#dialog"), or if query data is provided (through POST or GET),
then the new document goes through its initialization phase . Applies
to subdialog, goto, submit, link, or choice element. |
565 |
[6.1.1] |
If a URI reference in a goto
transition contains only a fragment (e.g., "#my_dialog"), then no
document is fetched, and no initialization of that document is
performed. |
566 |
[6.1.1] |
If a URI reference in a submit
transition is accompanied by a query string or by a namelist attribute
there will a fetch and the new document is initialized. |
567 |
[6.1.1] |
If the URI reference to the root document contains a query string or a namelist attribute, the root document is fetched.
|
568 |
[6.1.1] |
If specified, fetchaudio plays during a long fetch.
|
569 |
[6.1.1] |
If fetchaudio is not specified, but a non-empty fetchaudio property exists, fetchaudio plays during a long fetch.
|
570 |
[6.1.1] |
If not specified, and the fetchaudio property is not set, fetchaudio does not play during a long fetch.
|
571 |
[6.1.1] |
If an error occurs retrieving
fetchaudio from its URI, no badfetch event is thrown and no audio is
played during the fetch. |
572 |
[6.1.1] |
If content is not returned within the specified fetchtimeout, an error.badfetch event is thrown.
|
573 |
[6.1.1] |
If content is returned within the specified fetchtimeout, document processing proceeds as normal.
|
574 |
[6.1.2] |
If maxage is specified and the
resource age is greater than the maxage, the interpreter must
revalidate against the server |
576 |
[6.1.2] |
If maxstale attribute is specified and
the resource age has exceeded its expiration time by more than the
maxstale time, the interpreter must revalidate against the server. |
577 |
[6.1.2] |
Setting maxage of zero forces the interpreter to do revalidate the resource against the server.
|
580 |
[6.1.3] |
If the interpreter prefetches a
resource, and the URI is computed with an expr attribute, the
interpreter context must not move the fetch up before any assignments
to the expression's variables. |
585 |
[6.2.1] |
The interpreter must successfully
parse and execute a VoiceXML document containing zero or more meta
elements with name and content attributes. |
586 |
[6.2.1] |
The interpreter must successfully
parse and execute a VoiceXML document containing zero or more meta
elements with name and http-equiv attributes. |
587 |
[6.2.1] |
Exactly one of "name" or "http-equiv" must be specified; otherwise, an error.badfetch event is thrown.
|
589 |
[6.2.2] |
An interpreter MUST successfully parse
and execute a VoiceXML document containing a metadata element
containing any valid schema including the recommended general metadata
properties defined in the Dublin Core Metadata Initiative. |
591 |
[6.3] |
A property specified at a more local
scope (e.g. form) takes precedence over the same property specified at
an outer scope (e.g. document). |
592 |
[6.3.2] |
When the "confidencelevel" property is
specified, the interpreter rejects results (throwing a nomatch event)
when the confidence level of recognizer is less than that of the
property. |
595 |
[6.3.2] |
When the "speedvsaccuracy" property is
specified with value M, the recognizer is at least as fast as when the
specified value is N, such that M < N, given the same input and
other context. |
596 |
[6.3.2] |
When the "completetimeout" property is
specified, the recognizer will wait the specified number of seconds of
silence before determining that the user has finished speaking a
matching utterance (or will not speak). |
597 |
[6.3.2] |
When the "incompletetimeout" property
is specified, the recognizer will wait the specified number of seconds
of silence before determining that the user has finished speaking and
the utterance does not match a grammar. |
598 |
[6.3.3] |
When the "interdigittimeout" property
is specified, and the recognizer has received DTMF input but could
possibly match a grammar if more digits were entered, it will wait the
specified number of seconds before determining that no more digits will
be entered. |
599 |
[6.3.3] |
When the "termtimeout" property is
specified, and the recognizer has received DTMF input matching a
grammar and the termchar is non-empty, the user can enter an optional
termchar DTMF. If the user fails to enter this optional DTMF within
termtimeout, the recognition ends and the recognized value is returned.
|
603 |
[6.3.4] |
The value of the timeout property controls the default time after which a noinput event is thrown by the platform.
|
604 |
[6.3.5] |
If any of the various *fetchhint properties is set to "safe", content of that time is never fetched until it is needed.
|
605 |
[6.3.5] |
A cached resource of a certain type must be reloaded if the *maxage property for its type is less than its current age.
|
606 |
[6.3.5] |
A cached resource of a certain type
must be reloaded if the *maxstale property for its type is less than
its current staleness. |
607 |
[6.3.5] |
Fetchaudio will not begin playing until the amount of time specified in the fetchaudiodelay property has elapsed.
|
608 |
[6.3.5] |
Fetchaudio, once it begins playing,
will not be interrupted until at least the amount of time specified in
the fetchaudiominimum property. |
611 |
[6.4] |
Exactly one of "expr" or "value" on param must be specified; otherwise, an error.badfetch event is thrown.
|
612 |
[6.4] |
When param is contained in a subdialog
element, the values specified by it are used to initialize dialog var
elements in the subdialog that is invoked. |
613 |
[6.5] |
Time designations follow those used in
W3C's Cascading Style Sheet recommendation. The valid time unit
identifiers are ms (milliseconds, the default) and s (seconds). |
614 |
[2.3.2] |
When the block cond attribute evaluates to false, the interpreter does not execute the element or its contents.
|
620 |
[5.3.8] |
Variables associated with the namelist should be URI escaped.
|
621 |
[2.3.4] |
When the element's cond attribute evaluates to false, the interpreter does not execute the element or its contents.
|
623 |
[4.1] |
When the prompt element's cond
attribute evaluates to false, the interpreter does not execute the
element or its contents. |
626 |
[1.2.5] |
An implementation platform must support text-to-speech
|
627 |
[1.2.5] |
Audio files are referred to by URI
|
628 |
[1.2.5] |
The implementation must report characters (DTMF entered by the user)
|
629 |
[1.2.5] |
If an audio input resource is not available, an error.noresource event must be thrown
|
632 |
[1.3.1] |
Each field may specify a grammar that defines the allowable inputs for that field.
|
633 |
[1.3.5] |
Handling Platform generated events
|
634 |
[1.3.5] |
Handling Interpreter generated events
|
638 |
[1.5.1] |
If the xml:base attribute is defined all relative references will use the defined base URI.
|
640 |
[1.5.1] |
vxml- xml:lang can be omitted and a platform specific default shall be used
|
649 |
[1.5.2] |
Transition to doc with application attr same (with query string)
|
650 |
[1.5.2] |
Transition to doc with application attr same (with fragment)
|
654 |
[1.5.3] |
Subdialog results are accessed through
properties of the variable defined by the name attribute of the
subdialog element. |
655 |
[1.5.3] |
If subdialog execution is transferred
to another subdialog using goto, when the second dialog returns,
control is returned directly to the dialog. |
656 |
[1.5.3] |
If subdialog execution calls a second
subdialog execution, when the second dialog returns, control is
returned directly to the calling subdialog dialog. |
1001 |
[5.3.7] |
Exactly one of "next", "expr", "nextitem" or "expritem" must be specified; otherwise, an error.badfetch event is thrown
|
1002 |
[5.3.7] |
Setting expr to an ECMAScript
expression that evaluates to a relative URL (excluding fragment
identifier) that points to an existing VoiceXML document causes the
INTERPRETER to transition to that document and begin execution of the
first form. |
1003 |
[5.3.7] |
Setting expr to an ECMAScript
expression that evaluates to a fully-qualified URL including fragment
identifier that points to an existing VoiceXML document causes the
INTERPRETER to transition to that document and begin execution of the
specified form. |
1004 |
[5.3.7] |
Setting expr to an ECMAScript
expression that evaluates to a relative URL including fragment
identifier that points to an existing VoiceXML document causes the
INTERPRETER to transition to that document and begin execution of the
specified form. |
1005 |
[5.3.7] |
Setting nextitem to an existent form
item of the current form causes the INTERPRETER to transition to that
specified form item and continue execution. |
1006 |
[5.3.7] |
Setting expritem to an ECMAScript
expression that evaluates to an existent form item of the current form
causes the INTERPRETER to transition to that specified form item and
continue execution. |
1007 |
[5.3.7] |
Setting nextitem to a non-existent
form item (in the current form) causes the INTERPRETER to thrown a
catchable error.badfetch event |
1008 |
[5.3.7] |
Setting expritem to an ECMAScript
expression that evaluates to a non-existent form item (in the current
form) causes the interpreter to throw a catchable error.badfetch event.
|
1010 |
[2.3.6] |
If the modal attribute is set to
false, and DTMF input matches an active non-local grammar, then the
recording is terminated, the record variable is undefined and control
is transfered to the element containing the matched grammar. |
1011 |
[2.3.6] |
If the modal attribute is set to true, DTMF input cannot match any non-local grammars.
|
1012 |
[2.3.6] |
If the expr attribute evaluates to a defined value, then the record element is not visited.
|
1013 |
[2.3.6] |
If the cond attribute is specified and
evaluates after conversion to boolean to true, then the record element
is visited. |
1014 |
[2.3.6] |
If the cond attribute is specified and
evaluates after conversion to boolean to false, then the record element
is not visited. |
1016 |
[2.3.6] |
Recording is terminated when user
hangs up and a disconnect event is thrown. If audio has been collected,
then the audio recorded up until hangup is available through the record
variable. |
1017 |
[2.3.6] |
The value of the record variable 'name' is also available as dialog.'name'.
|
1018 |
[2.3.6] |
If the beep attribute is set to true, then a tone is emitted prior to recording.
|
1019 |
[2.3.6] |
If DTMF input is received before the
end of playback of record prompts, or the end of the timeout period,
then no audio is collected, the record variable remains undefined. |
1022 |
[5.1.2] |
New session variables cannot be declared by VoiceXML documents.
|
1025 |
[2.3] |
The form item initial has a result
variable, specified by the name attribute. This variable may be given
an initial value with the expr attribute. |
1026 |
[2.3] |
The form item subdialog has a result
variable, specified by the name attribute. This variable may be given
an initial value with the expr attribute. |
1032 |
[2.3] |
The form item 'initial' has a guard
condition specified with the cond attribute. A form item is visited if
it is not filled and its cond is not specified or evaluates, after
conversion to boolean, to true. |
1037 |
[2.3] |
The input item 'field' may contain the
filled element. Filled elements contain an action to execute after the
result input item variable is filled in. |
1038 |
[2.3] |
The input item subdialog may contain
the filled element. Filled elements contain an action to execute after
the result input item variable is filled in. |
1040 |
[2.3] |
The input item record may contain the
filled element. Filled elements contain an action to execute after the
result input item variable is filled in. |
1042 |
[2.3] |
The input item 'field' may contain the
property element. Property elements specify properties that are in
effect for this input item. |
1043 |
[2.3] |
The input item 'subdialog' may contain
the property element. Property elements specify properties that are in
effect for this input item. |
1045 |
[2.3] |
The input item record may contain the
property element. Property elements specify properties that are in
effect for this input item. |
1047 |
[2.3] |
The input item 'field' may contain the
prompt element. Prompt elements specify prompts to play when visiting
this input item. |
1048 |
[2.3] |
The input item 'subdialog' may contain
the prompt element. Prompt elements specify prompts to play when
visiting this input item. |
1050 |
[2.3] |
The input item 'record' may contain
the prompt element. Prompt elements specify prompts to play when
visiting this input item. |
1053 |
[2.3] |
The input item 'record' may contain
the grammar element. Grammar elements specify allowable DTMF input for
this input item. |
1055 |
[2.3] |
The input item 'field' may contain the catch element, which is in effect for this input item.
|
1056 |
[2.3] |
The input item subdialog may contain the catch element, which is in effect for this input item.
|
1059 |
[2.3] |
The input item 'record' may contain the catch element, which is in effect for this input item.
|
1060 |
[2.3] |
An 'initial' element may contain property elements.
|
1061 |
[2.3] |
An 'initial' element may contain catch elements.
|
1062 |
[2.1] |
A form may contain form-level <grammar> elements.
|
1063 |
[2.1] |
A form may contain <link> elements.
|
1064 |
[2.1] |
A form may contain <property> elements.
|
1065 |
[2.1] |
A form may contain <script> elements.
|
1066 |
[2.1.5] |
A form-level grammar cannot fill <block>, <initial> or <var>.
|
1067 |
[2.1.6.1] |
On entering a form, all form item
variables and variables declared in a form by <var> are
initialised by the expr attribute if defined. |
1068 |
[2.1.6.1] |
On entering a form, all form item
variables and variables declared in a form by <var> are
initialised to undefined if no expr attribute is defined. |
1069 |
[2.1.6.1] |
Form item variables and variables declared in a form by <var> are initialised in document order.
|
1070 |
[2.1.6.1] |
Form level <script> elements are
evaluated in document order at the same time as form item variables are
initialised. |
1071 |
[2.1.6.1] |
When a form is entered, the prompt
counter is initialised to 1 for every input item. Thus the prompt with
count=1 will always be played first for all input items. |
1072 |
[2.1.6.1] |
When a form is entered, the prompt
counter is initialised to 1 for every <initial>. Thus the prompt
with count=1 will always be played first for any <initial> item. |
1074 |
[2.1.6.2.1] |
For every type of form item except
<initial>, that item will be selected by the FIA if it is the
first eligible form item in document order and the previous loop of the
FIA did not end in a goto nextitem |
1075 |
[2.1.6.2.1] |
For every type of form item, the form
item is not eligible to be visited by the FIA if the form item variable
is not undefined. This applies even if there is a cond attribute that
evaluates to true. |
1076 |
[2.1.6.2.1] |
For every type of form item, the form
item is not eligible to be visited by the FIA if the form item has a
cond attribute evaluating to false. |
1077 |
[2.1.6.2.1] |
For every type of form item, the form
item is eligible to be visited by the FIA if the form item has a cond
attribute evaluating to true and the form item variable is undefined. |
1078 |
[2.1.6.2.1] |
For every type of form item, the form
item is eligible to be visited by the FIA if the form item has no cond
attribute and the form item variable is undefined. |
1080 |
[2.1.6.2.1] |
For every type of form item, the cond attribute is evaluated in the dialog scope.
|
1081 |
[3.1.4] |
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. |
1082 |
[2.1.6.2.3] |
If execution of a block throws an event, the appropriate event handler is executed.
|
1083 |
[2.1.6.2.3] |
If a document scope menu grammar is
matched while processing another form, control transitions to the
target of the the matched <choice> element's next or expr
attribute. |
1084 |
[2.1.6.2.3] |
If a document scope menu grammar is
matched while processing another form, the matched <choice>
element's event or eventexpr is thrown. |
1085 |
[2.1.6.2.3] |
If a document scope menu grammar is
matched while processing another form and the matched <choice>
element's event or eventexpr is thrown and the event handler does not
transition to a new form, the FIA resumes in the <menu> after
clearing the menu's anonymous form item variable. |
1086 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will be queued for
execution if the field item variable is specified in the namelist of
the <filled> element and the mode is "any". |
1087 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will be queued for
execution if the field is the only entry in the namelist and the mode
is "all". |
1088 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will be queued for
execution if the namelist is empty and the mode is "any". |
1089 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will be queued for
execution if the namelist is empty, the mode is "all" and the field is
the only input item in the form. |
1090 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will not be queued for
execution if the field item variable is not specified in the
(non-empty) namelist of the <filled> element. |
1091 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will not be queued for
execution if the namelist of the <filled> element references
other input items in addition to this field and the mode is "all". |
1092 |
[2.1.6.2.3] |
After a field level grammar is
matched, a form level <filled> element will not be queued for
execution if the namelist is empty, the mode is "all" and the form has
other input items. |
1093 |
[2.1.6.2.3] |
If a form level grammar is matched,
field level <filled> elements are queued for execution if and
only if the field has just been assigned a value by this input. |
1094 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will be queued for execution if all
the fields listed in the namelist of the <filled> have just been
assigned a value. |
1095 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will be queued for execution if at
least one of the fields listed in the namelist of the <filled>
has just been assigned a value and the mode is "any". |
1096 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will be queued for execution if the
namelist is empty, the mode is "all" and all input item variables have
just been assigned a value. |
1097 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will be queued for execution if the
namelist is empty, the filled mode is "any" and at least one input item
variable has just been assigned a value. |
1098 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will not be queued for execution if
the mode is "all" and at least one of the fields listed in the namelist
of the <filled> has not just been assigned a value. |
1099 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will not be queued for execution if
none of the fields listed in the namelist of the <filled> has
just been assigned a value and the mode is "any" . |
1100 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will not be queued for execution if
the namelist is empty, the mode is "all" and at least one input item
variables has not just been assigned a value. |
1101 |
[2.1.6.2.3] |
After a form level grammar is matched,
a form level <filled> element will not be queued for execution if
the namelist is empty, the filled mode is "any" and no input item
variable has just been assigned a value. |
1102 |
[2.1.6.2.3] |
If no input items are filled by a user
input and no events are thrown, the FIA resumes at the next iteration
of the main loop. |
1103 |
[2.1.6.2.3] |
<goto nextitem> does not reset conditions associated with items in the targeted form.
|
1104 |
[2.1.6.2.3] |
<goto nextitem> does not reset form item variables in the targeted form item.
|
1105 |
[2.1.6.2.3] |
<goto nextitem> will cause the target form item's prompt to be played even if it has already been visited.
|
1107 |
[2.3.3] |
If one or more of a form's field item
variables are set by user input, then all <initial> form item
variables within the form are set to true, before any <filled>
actions are executed. |
1108 |
[2.3.3] |
If an <initial> form item
variable has been explicitly cleared after a previous user input, the
<initial> form item variable will only be set when a new grammar
match sets a field item variable. |
1109 |
[2.3.3] |
Grammars with <field> scope are not active within <initial>.
|
1110 |
[2.3.3] |
Explicit assignment of values to input
item variables does not affect the value of an <initial>'s form
item variable. |
1111 |
[2.3.3] |
<initial> elements may contain audio prompts, properties , and event handlers.
|
1112 |
[2.3.3] |
When an event is thrown while visiting
an <initial> element, the <initial> element is the
innermost scope for finding an appropriate event handler, and therefore
events may be caught by event handlers specified within the
<initial> element. |
1113 |
[2.3.3] |
<initial> elements have event counters that follow the normal event count semantics.
|
1114 |
[2.3.3] |
<initial> elements collect a
user input, i.e. they cause queued prompts to be played, grammars to be
activated and a speech recognition process to be started. |
1115 |
[3.1.6.3] |
Test of example table: form-level result 'hello'.
|
1116 |
[3.1.6.3] |
Test of example table: form-level result '{ x: valueX }'.
|
1117 |
[3.1.6.3] |
Test of example table: form-level result '{ y: valueY }'.
|
1118 |
[3.1.6.3] |
Test of example table: form-level result '{ z: valueZ }'.
|
1119 |
[3.1.6.3] |
Test of example table: form-level result '{ x: valueX , y: valueY , z: valueZ }'.
|
1120 |
[3.1.6.3] |
Test of example table: form-level result '{ a: valueA , b: value B }'.
|
1121 |
[3.1.6.3] |
Test of example table: field-level X result 'hello'.
|
1122 |
[3.1.6.3] |
Test of example table: field-level X result '{ x: valueX }'.
|
1123 |
[3.1.6.3] |
Test of example table: field-level X result '{ y: valueY }'.
|
1124 |
[3.1.6.3] |
Test of example table: field-level X result '{ z: valueZ }'.
|
1125 |
[3.1.6.3] |
Test of example table: field-level X result '{ x: valueX , y: valueY , z: valueZ }'.
|
1126 |
[3.1.6.3] |
Test of example table: field-level X result '{ a: valueA , b: value B }'.
|
1127 |
[3.1.6.3] |
Test of example table: field-level Z result 'hello'.
|
1128 |
[3.1.6.3] |
Test of example table: field-level Z result '{ x: valueX }'.
|
1129 |
[3.1.6.3] |
Test of example table: field-level Z result '{ y: valueY }'.
|
1130 |
[3.1.6.3] |
Test of example table: field-level Z result '{ z: valueZ }'.
|
1131 |
[3.1.6.3] |
Test of example table: field-level Z result '{ x: valueX , y: valueY , z: valueZ }'.
|
1132 |
[3.1.6.3] |
Test of example table: field-level Z result '{ a: valueA , b: value B }'.
|
1135 |
[4.1.3] |
If neither 'src' nor 'expr' are specified on an audio element, an error.badfetch event is thrown.
|
1138 |
[2.1.6.2.1] |
Assigning a form item's variable to
undefined via ECMAScript makes it eligible to be visited by the FIA,
without resetting the error counters associated with the item. |
1139 |
[2.1.6.2.3] |
<goto nextitem> does not reset event counters associated with items in the targeted form.
|
1140 |
[2.1.6.2.3] |
<goto nextitem> does not reset prompt counters associated with items in the targeted form.
|
1143 |
[2.1.6.2.3] |
While executing a filled, if a submit is encountered the remaining filled actions are skipped.
|
1144 |
[2.1.6.2.3] |
While executing a filled, if a disconnect is encountered the remaining filled actions are skipped.
|
1145 |
[2.1.6.2.3] |
While executing a filled, if an exit is encountered the remaining filled actions are skipped.
|
1146 |
[2.1.6.2.3] |
While executing a filled, if a return is encountered the remaining filled actions are skipped.
|
1147 |
[2.1.6.2.3] |
While executing a filled, if a goto is encountered the remaining filled actions are skipped.
|
1148 |
[2.1.6.2.3] |
While executing a filled, if a throw is encountered the remaining filled actions are skipped.
|
1149 |
[5.3.8] |
The interpreter throws
"error.badfetch.http.404" if the HTTP server returns a 404 before the
fetchtimeout. If, however, the fetchtimeout interval elapses before the
server returns a 404, the interpreter throws "error.badfetch". |
1150 |
[5.3.8] |
If Querystring & namelist variable ,both are mentioned with method GET then both values need to be submitted
|
1152 |
[5.3.13] |
The <log> element may contain any combination of text (CDATA) and <value> elements.
|
1156 |
[2.3.4] |
When the subdialog returns, its execution context is deleted. All subdialog context variable bindings are lost.
|
1157 |
[2.3.4] |
If a subdialog URI has a query string
and the subdialog has a namelist attribute the namelist variables are
additionally submitted. |
1158 |
[2.3.4] |
When there is no fragment, the subdialog invoked is the lexically first dialog in the document.
|
1159 |
[2.3.4] |
It is a semantic error to attempt to set a form item variable or an undeclared variable using <param>
|
1161 |
[5.3.13] |
The label attribute may be used, for example, to indicate the purpose of the log.
|
1162 |
[5.3.9] |
The exit element does not throw an "exit" event.
|
1163 |
[5.3.13] |
When expr is set in a log, the expression evaluated to a string is present in a logging or debug message.
|
1167 |
[6.1.1] |
If fetchtimeout is not specified, but
a non-empty fetchtimeout property exists, then if content is not
returned within the specified fetchtimeout property, an error.badfetch
event is thrown. |
1168 |
[6.1.1] |
If fetchtimeout is not specified, but
a non-empty fetchtimeout property exists, then if content is returned
within the specified fetchtimeout property, document processing
proceeds as normal. |
1169 |
[5.3.12] |
The <script> element has the
charset attributes: The character encoding of the script designated by
src. UTF-8 and UTF-16 encodings of ISO/IEC 10646 must be supported (as
in [XML]). The default value is UTF-8. |
1170 |
[6.1.1] |
If a fetchaudio is played during fetch of a document, the play is interrupted when the document is loaded.
|
1171 |
[2.3.1] |
If the specified builtin type is not supported by the platform, an error.unsupported.builtin event is thrown.
|
1173 |
[2.2] |
DTMF properties apply to recognition of the DTMF digits specified by dtmf attribute of choice.
|
1174 |
[2.5] |
Any URIs in the content of a link are
resolved lexically, i.e. according to the base URI (see xml:base in
Section 1.5.1) for the document in which the link is defined. |
1175 |
[2.5] |
any URIs in an attribute of a link
element are resolved dynamically, i.e. according to the base URI in
effect when the link s grammar is matched. |
1176 |
[2.5] |
any ECMAScript expressions in an
attribute of a link element are evaluated dynamically, i.e. in the
scope and execution context in effect when the grammar is matched. |
1179 |
[5.3.2] |
When an ECMAScript object, e.g. "obj",
has been properly initialized then its properties, for instance
"obj.prop1", can be assigned without explicit declaration. |
1183 |
[2.3.7.3] |
If the platform does not support blind transfers, a error.unsupported.transfer.blind error is thrown.
|