The built-in field types and grammars for UK English are listed here.
Element | Implementation details |
---|---|
boolean | Users can say one of the positive responses yes, true, positive, right, OK, sure, affirmative, check,
and correct, or one of the negative responses no, false, incorrect, negative, not,
and wrong. Variations on “yes” (yep and yeah)
and “no” (nope) may also be used. Users can also provide DTMF input: 1 is yes, and 2 is no. The return value sent is a boolean “true” for a positive response or “false” for a negative response. If the field name is subsequently used in a value attribute within a prompt, the TTS engine will speak yes or no. |
currency | Users can say currency values as a combination
of a pounds component, such as “twenty seven pounds” and a
pence component, such as “fifty pence.” Users can also say
one of these components without the other. If both components are
present, they can be either not separated (as in “twenty pounds
seventy”), or separated by the word “and” (as in “thirty
pounds and forty pence”). A pounds component may be in any of the formats: “no pounds,” “zero pounds,” “nought pounds,” “one pound,” “m pounds" (where 2 <= m <= 999,999,999) and “m” (where 1 <= m <= 999,999,999). A pence component may be in any of the formats: “no pence,” “nought pence,” “zero pence,” “a penny,” “one penny,” “n pence” (where 1 <= n <= 99). If both components are present, the pence component can also have the format “n” (where 0 <= n <= 99). Note that if users just say an integer value “m” (where 1 <= m <= 999,999,999), this will be interpreted as a number of pounds. Note also that users can also speak two numerical values, where the first is between 0 and 999,999,999 and the second is between 0 and 99. This will be interpreted as a number of pounds followed by a number of pence. Also, “euro,” “euros,” “cent,” and “cents” may be used as currency types in place of “pound,” “pounds,” “penny,” and “pence” in the above description. Similarly, “dollar,” “dollars,” “cent,” and “cents” may be used. Note that “pound” can be used instead of “pounds” (as in “five pound ten”) and that both “euro” and “euros” can be used as the plural of “euro.” Users can also provide DTMF input using the numbers 0 through 9 and optionally the * key (to indicate a decimal point), and must terminate DTMF entry using the # key. The return value sent is a string in the format UUUddddddddd.cc where UUU is a currency indicator (GBP, EUR, USD). If the field name is subsequently used in a value attribute within a prompt, the TTS engine will speak the currency value. For example, the TTS engine speaks “GBP9.30” as “nine point three zero pounds.” |
date | Users can say a date using days, months and years,
as well as the words yesterday, today, and tomorrow.
The year must be between 1900 and 2099. Users can speak years from 1901 to 1999 as “nineteen <2-digit number>” (such as “nineteen oh seven”). Users can speak years from 2001 to 2099 as “two thousand and <1-digit number>” (such as “two thousand and four”), “two thousand and <2-digit number>” (such as “two thousand and eighty five”), or as “twenty <2-digit number>” (such as “twenty forty six”). (Here, 2-digit numbers can have “oh” as the first digit). The following common constructs for dates are supported: “March the third two thousand and one,” “March third two thousand and one,” “the third of March two thousand and one,” and “third of March two thousand and one.” Users can also specify a 2-digit year (such as “fifty five”). A 2-digit year will be interpreted as being between 1911 and 2010. Users can also say the day and month without specifying a year. This will be interpreted as a date in the current year. Any of these constructs can be preceded by a day of the week, such as “Thursday the Third of March two thousand and one.” However, the day will be ignored. Thus the specified date will be accepted, whether or not it falls on the specified day. Users can also provide DTMF input in the form yyyymmdd. Note: The date grammar does not perform
leap year calculations. February 29th is accepted as a valid date
regardless of the year. If desired, your application or servlet can
perform the required calculations.
The return value sent is a string in the format yyyymmdd, with the VoiceXML browser returning a ? in any positions omitted in spoken input. If the value is subsequently spoken in <say-as> with the interpret-as value vxml:date, then it is spoken as a date appropriate to this language. For example, the TTS engine speaks “20030511” as “the eleventh of May two thousand and three.” |
digits | Users can say non-negative integer values as strings
of individual digits (0 through 9). For example, a user could say
“one two three four five six.” Users can say "0" by saying “nought,” “zero,” or “oh.” Users can also say “one,” “two,” “three,” “four,” “five,” “six,” “seven,” “eight,” and “nine.” Users can also provide DTMF input using the numbers 0 through 9, and must terminate DTMF entry using the # key. The return value sent is a string of one or more digits. If the result is subsequently used in <say-as> with the interpret-as value vxml:digits, it will be spoken as a sequence of digits appropriate to the current language. For example, the TTS engine speaks “123456” as “one two three four five six.” |
number | Users can say natural numbers (that is, positive
and negative integers, 0, and decimals) from -999,999,999.9999 to
999,999,999.9999. Users can say the words point and dot to
indicate a decimal point, minus to indicate a negative number,
and plus to indicate a positive number, which is the default. Users can say “0” by saying “nought,” “zero,” or “oh.” Users can also provide DTMF input using the numbers 0 through 9 and optionally the * key (to indicate a comma), and must terminate DTMF entry using the # key. Only positive numbers can be entered using DTMF. The return value sent is a string of one or more digits, 0 through 9, with a decimal point and a + or - sign as applicable. If the field is subsequently spoken in <say-as> with the interpret-as value vxml:type, where type is the type number you want to specify, then it is spoken as that type number appropriate to this language. For example, the TTS engine speaks “123456” as “one hundred and twenty three thousand four hundred and fifty six.” Use <say-as interpret-as="vxml:digit"> to have the number said as a string of digits. |
phone | Users can say a telephone number, including the
optional word extension. In addition to digits (1 to 9), users can use double digits (such as “49”) and the words “double,” “treble,” and “triple” (before a digit). Users can also use the words “hundred” and “thousand.” “hundred” will be interpreted as “00” and “thousand” will be interpreted as “000.” Users can also provide DTMF input using the numbers 0 through 9 and optionally the * key (to represent the word “extension”), and must terminate DTMF entry using the # key. The return value sent is a string of digits which includes an x if an extension was specified. If the field is subsequently spoken in <say-as> with the interpret-as value vxml:phone, then it is spoken as a phone number appropriate to this language. Note: For tips
on minimizing recognition errors that are due to user pauses during
input, see Using the built-in phone grammar.
|
time | Users can say a time of day using hours and minutes
in either 12- or 24-hour format, as well as the word now. Times can be stated in any of the following formats: one [minute] past n [o'clock] [in the morning | in the afternoon | Note that when m or m is “0” or is a 2-digit number beginning with “0” (such as “11:07 am”), the “0” should be pronounced “oh” or “zero.” Also, users can precede any of these times with “about,” “approximately,” “around,” “at,” “exactly,” “nearly,” “just after,” or “just before.” This will be ignored, and the exact time will be accepted. Users can also provide DTMF input using the numbers 0 through 9. The return value sent is a string in the format hhmmx, where x is a for AM, p for PM, h for 24 hour format or ? if unspecified or ambiguous. For DTMF input, the return value will always be h or ?, since there is no mechanism for specifying AM or PM. If the field is subsequently spoken in <say-as> with the interpret-as value vxml:time, then it is spoken as a time appropriate to this language. |