Element categories
We have explored the taxonomy of a VoiceXML document. The VoiceXML elements can also be categorized by function, as shown in Table 3-1, based on comments in the DTD. This partitioning can be summarized as follows:
-
Audio Input
-
Element types controlling how input is collected from the caller.
-
Audio Output
-
Element types controlling how audio is rendered to the caller.
-
Call Control
-
Element types that perform telephony hardware operations.
-
Dialog
-
Element types that define a dialog.
-
Event
-
Element types that produce or handle real-time events.
-
Field
-
Element types that define a form field.
-
Flow Control
-
Element types that control the execution flow of a VoiceXML application.
-
Miscellaneous
-
Element types that provide access to ECMAScript, native objects, and run-time logging.
-
Prompt
-
Element types controlling the prompting of the caller.
-
Root
-
Element types used to declare a VoiceXML document and provide document-level metadata.
Table 3-1. All of the VoiceXML element types organized by category
Element type |
Category |
Section |
---|---|---|
example |
Audio Input |
3.14, “example,” |
grammar |
Audio Input |
3.20, “grammar,” |
item |
Audio Input |
3.24, “item,” |
one-of |
Audio Input |
3.35, “one-of,” |
record |
Audio Input |
3.43, “record,” |
rule |
Audio Input |
3.46, “rule,” |
ruleref |
Audio Input |
3.47, “ruleref,” |
token |
Audio Input |
3.55, “token,” |
audio |
Audio Output |
3.2, “audio,” |
break |
Audio Output |
3.4, “break,” |
emphasis |
Audio Output |
3.11, “emphasis,” |
mark |
Audio Output |
3.28, “mark,” |
paragraph |
Audio Output |
3.37, “paragraph,” |
phoneme |
Audio Output |
3.39, “phoneme,” |
prosody |
Audio Output |
3.42, “prosody,” |
say-as |
Audio Output |
3.48, “say-as,” |
sentence |
Audio Output |
3.50, “sentence,” |
voice |
Audio Output |
3.59, “voice,” |
disconnect |
Call Control |
3.8, “disconnect,” |
transfer |
Call Control |
3.56, “transfer,” |
choice |
Dialog |
3.6 “choice” |
form |
Dialog |
3.18, “form,” |
menu |
Dialog |
3.29, “menu,” |
catch |
Event |
3.5, “catch,” |
error |
Event |
3.13, “error,” |
help |
Event |
3.21, “help,” |
link |
Event |
3.26, “link,” |
noinput |
Event |
3.32, “noinput,” |
nomatch |
Event |
3.33, “nomatch,” |
throw |
Event |
3.54, “throw,” |
assign |
Field |
3.1, “assign,” |
block |
Field |
3.3, “block,” |
clear |
Field |
3.7, “clear,” |
field |
Field |
3.16, “field,” |
initial |
Field |
3.23, “initial,” |
option |
Field |
3.36, “option,” |
value |
Field |
3.57, “value,” |
var |
Field |
3.58, “var,” |
else |
Flow Control |
3.9, “else,” |
elseif |
Flow Control |
3.10, “elseif,” |
exit |
Flow Control |
3.15, “exit,” |
filled |
Flow Control |
3.17, “filled,” |
goto |
Flow Control |
3.19, “goto,” |
if |
Flow Control |
3.22, “if,” |
param |
Flow Control |
3.38, “param,” |
return |
Flow Control |
3.45, “return,” |
subdialog |
Flow Control |
3.51, “subdialog,” |
submit |
Flow Control |
3.52, “submit,” |
log |
Miscellaneous |
3.27, “log,” |
object |
Miscellaneous |
3.34, “object,” |
property |
Miscellaneous |
3.41, “property,” |
script |
Miscellaneous |
3.49, “script,” |
enumerate |
Prompt |
3.12, “enumerate,” |
prompt |
Prompt |
3.40, “prompt,” |
reprompt |
Prompt |
3.44, “reprompt,” |
meta |
Root |
3.30, “meta,” |
vxml |
Root |
3.60, “vxml,” |