vxml.dtd
上传用户:xqtpzdz
上传日期:2022-05-21
资源大小:1764k
文件大小:14k
- <!--
- VoiceXML 2.1 DTD (20040728)
- Copyright 1998-2004 W3C (MIT, ERCIM, Keio), All Rights Reserved.
- Permission to use, copy, modify and distribute the VoiceXML DTD and
- its accompanying documentation for any purpose and without fee is
- hereby granted in perpetuity, provided that the above copyright
- notice and this paragraph appear in all copies.
- The copyright holders make no representation about the suitability
- of the DTD for any purpose. It is provided "as is" without expressed
- or implied warranty.
- -->
- <!ENTITY % audio "#PCDATA | audio | enumerate | value">
- <!ENTITY % bargeintype "( speech | hotword )">
- <!ENTITY % boolean "(true|false)">
- <!ENTITY % content.type "CDATA">
- <!ENTITY % duration "CDATA">
- <!ENTITY % event.handler "catch | help | noinput | nomatch | error">
- <!ENTITY % event.name "NMTOKEN">
- <!ENTITY % event.names "NMTOKENS">
- <!ENTITY % executable.content "%audio; | assign | clear | data | disconnect |
- exit | foreach | goto | if | log | prompt |
- reprompt | return | script | submit | throw | var ">
-
- <!-- temporary limitation. spec calls for executable.content, but
- some work needs to be done to support nested foreach or prompt elements -->
- <!ENTITY % foreach.content "%audio; | assign | clear | data | disconnect |
- exit | goto | if | log | prompt |
- reprompt | return | script | submit | throw | var ">
-
- <!ENTITY % expression "CDATA">
- <!ENTITY % restrictedvariable.name "NMTOKEN">
- <!ENTITY % variable.name "CDATA">
- <!ENTITY % restrictedvariable.names "NMTOKENS">
- <!ENTITY % variable.names "CDATA">
- <!ENTITY % integer "CDATA">
- <!ENTITY % item.attrs "name %restrictedvariable.name; #IMPLIED
- cond %expression; #IMPLIED
- expr %expression; #IMPLIED ">
- <!ENTITY % uri "CDATA">
- <!ENTITY % cache.attrs "fetchhint (prefetch|safe) #IMPLIED
- fetchtimeout %duration; #IMPLIED
- maxage %integer; #IMPLIED
- maxstale %integer; #IMPLIED">
- <!ENTITY % next.attrs "next %uri; #IMPLIED
- expr %expression; #IMPLIED ">
- <!ENTITY % submit.attrs "method (get|post) 'get'
- enctype %content.type; 'application/x-www-form-urlencoded'
- namelist %variable.names; #IMPLIED">
- <!ENTITY % throw.attrs "event %event.name; #IMPLIED
- eventexpr %expression; #IMPLIED
- message CDATA #IMPLIED
- messageexpr %expression; #IMPLIED">
- <!ENTITY % variable "block | data | field | var">
- <!--================================= Root ================================-->
- <!ELEMENT vxml (%event.handler; | data | form | link | menu | meta | metadata |
- property | script | var)+>
- <!ATTLIST vxml
- application %uri; #IMPLIED
- xml:base %uri; #IMPLIED
- xml:lang NMTOKEN #IMPLIED
- xmlns CDATA #FIXED 'http://www.w3.org/2001/vxml'
- xmlns:xsi CDATA #IMPLIED
- xsi:schemaLocation CDATA #IMPLIED
- version CDATA #REQUIRED
- >
- <!ELEMENT meta EMPTY>
- <!ATTLIST meta
- name NMTOKEN #IMPLIED
- content CDATA #REQUIRED
- http-equiv NMTOKEN #IMPLIED
- >
- <!ELEMENT metadata ANY>
- <!--================================ Prompts ==============================-->
- <!-- definitions adapted from SSML 1.0 DTD -->
- <!ENTITY % structure "p | s">
- <!ENTITY % sentence-elements "break | emphasis | mark | phoneme | prosody |
- say-as | voice | sub">
- <!-- addition of enumerate and value elements as 'allowed-within-sentence'
- audio elements -->
- <!ENTITY % allowed-within-sentence " %audio; | %sentence-elements; ">
- <!-- Prompt is modelled on SSML 1.0 DTD speak element:
- - addition of 'bargein', 'bargeintype', 'cond', 'count' and 'timeout' attributes
- - removal of xmlns, xmlns:xsi, and xsi:schemaLocation attributes
- - version attribute fixed as "1.0"
- -->
- <!ELEMENT prompt (%allowed-within-sentence; | %structure; | lexicon | foreach
- | metadata | meta )*>
- <!ATTLIST prompt
- bargein %boolean; #IMPLIED
- bargeintype %bargeintype; #IMPLIED
- cond %expression; #IMPLIED
- count %integer; #IMPLIED
- xml:lang NMTOKEN #IMPLIED
- timeout %duration; #IMPLIED
- xml:base %uri; #IMPLIED
- version CDATA #FIXED "1.0"
- >
- <!ELEMENT enumerate (%allowed-within-sentence; | %structure;)*>
- <!ELEMENT reprompt EMPTY>
- <!--================================= Dialogs =============================-->
- <!ENTITY % input "grammar">
- <!ENTITY % scope "(document | dialog)">
- <!ELEMENT form (%input; | %event.handler; | filled | initial | object | link |
- property | record | script | subdialog | transfer | %variable;)*>
- <!ATTLIST form
- id ID #IMPLIED
- scope %scope; "dialog"
- >
- <!ENTITY % accept.attrs "accept (exact | approximate) 'exact'">
- <!ELEMENT menu (%audio; | choice | data | %event.handler; | prompt | property)*>
- <!ATTLIST menu
- id ID #IMPLIED
- scope %scope; "dialog"
- %accept.attrs;
- dtmf %boolean; "false"
- >
- <!ELEMENT choice ( #PCDATA | %input; )*>
- <!ATTLIST choice
- %cache.attrs;
- accept (exact | approximate) #IMPLIED
- dtmf CDATA #IMPLIED
- %throw.attrs;
- fetchaudio %uri; #IMPLIED
- %next.attrs;
- >
- <!--================================ Audio Output ==============================-->
- <!-- definitions adapted from SSML 1.0 DTD -->
- <!ELEMENT p (%allowed-within-sentence; | s)*>
- <!ATTLIST p
- xml:lang NMTOKEN #IMPLIED
- >
- <!ELEMENT s (%allowed-within-sentence;)*>
- <!ATTLIST s
- xml:lang NMTOKEN #IMPLIED
- >
- <!ELEMENT voice (%allowed-within-sentence; | %structure;)*>
- <!ATTLIST voice
- xml:lang NMTOKEN #IMPLIED
- gender (male | female | neutral) #IMPLIED
- age %integer; #IMPLIED
- variant %integer; #IMPLIED
- name CDATA #IMPLIED
- >
- <!ELEMENT prosody (%allowed-within-sentence; | %structure;)*>
- <!ATTLIST prosody
- pitch CDATA #IMPLIED
- contour CDATA #IMPLIED
- range CDATA #IMPLIED
- rate CDATA #IMPLIED
- duration %duration; #IMPLIED
- volume CDATA #IMPLIED
- >
- <!-- Changes to SSML 1.0 DTD audio element:
- - src not obligatory, addition of 'expr' and caching attributes
- -->
- <!ELEMENT audio (%allowed-within-sentence; | %structure; | desc)*>
- <!ATTLIST audio
- src %uri; #IMPLIED
- expr %expression; #IMPLIED
- %cache.attrs;
- >
- <!ELEMENT desc (#PCDATA)>
- <!ATTLIST desc
- xml:lang NMTOKEN #IMPLIED
- >
- <!ELEMENT emphasis (%allowed-within-sentence;)*>
- <!ATTLIST emphasis
- level (strong | moderate | none | reduced) "moderate"
- >
- <!-- Changes to SSML 1.0 DTD say-as element:
- - allows value element as child
- -->
- <!ELEMENT say-as (#PCDATA | value )*>
- <!ATTLIST say-as
- interpret-as NMTOKEN #REQUIRED
- format NMTOKEN #IMPLIED
- detail NMTOKEN #IMPLIED
- >
- <!ELEMENT sub (#PCDATA)>
- <!ATTLIST sub
- alias CDATA #REQUIRED
- >
- <!ELEMENT phoneme (#PCDATA)>
- <!ATTLIST phoneme
- ph CDATA #REQUIRED
- alphabet CDATA #IMPLIED
- >
- <!ELEMENT break EMPTY>
- <!ATTLIST break
- time CDATA #IMPLIED
- strength (none | x-weak | weak | medium | strong | x-strong) "medium"
- >
- <!ELEMENT mark EMPTY>
- <!ATTLIST mark
- name CDATA #IMPLIED
- nameexpr %expression; #IMPLIED
- >
- <!--================================ Fields ===============================-->
- <!ELEMENT field (%audio; | %event.handler; | filled | %input; | link | option |
- prompt | property)*>
- <!ATTLIST field
- %item.attrs;
- type CDATA #IMPLIED
- slot NMTOKEN #IMPLIED
- modal %boolean; "false"
- >
- <!ELEMENT option (#PCDATA)>
- <!ATTLIST option
- %accept.attrs;
- dtmf CDATA #IMPLIED
- value CDATA #IMPLIED
- >
- <!ELEMENT var EMPTY>
- <!ATTLIST var
- name %restrictedvariable.name; #REQUIRED
- expr %expression; #IMPLIED
- >
- <!ELEMENT initial (%audio; | %event.handler; | link | prompt | property)*>
- <!ATTLIST initial
- %item.attrs;
- >
- <!ELEMENT block (%executable.content;)*>
- <!ATTLIST block
- %item.attrs;
- >
- <!ELEMENT assign EMPTY>
- <!ATTLIST assign
- name %variable.name; #REQUIRED
- expr %expression; #REQUIRED
- >
- <!ELEMENT clear EMPTY>
- <!ATTLIST clear
- namelist %variable.names; #IMPLIED
- >
- <!ELEMENT value EMPTY>
- <!ATTLIST value
- expr %expression; #REQUIRED
- >
- <!--================================== Events =============================-->
- <!ENTITY % event.handler.attrs "count %integer; #IMPLIED
- cond %expression; #IMPLIED">
- <!ELEMENT catch (%executable.content;)*>
- <!ATTLIST catch
- event %event.names; #IMPLIED
- %event.handler.attrs;
- >
- <!ELEMENT error (%executable.content;)*>
- <!ATTLIST error
- %event.handler.attrs;
- >
- <!ELEMENT help (%executable.content;)*>
- <!ATTLIST help
- %event.handler.attrs;
- >
- <!ELEMENT link (%input;)*>
- <!ATTLIST link
- %cache.attrs;
- %next.attrs;
- fetchaudio %uri; #IMPLIED
- dtmf CDATA #IMPLIED
- %throw.attrs;
- >
- <!ELEMENT noinput (%executable.content;)*>
- <!ATTLIST noinput
- %event.handler.attrs;
- >
- <!ELEMENT nomatch (%executable.content;)*>
- <!ATTLIST nomatch
- %event.handler.attrs;
- >
- <!ELEMENT throw EMPTY>
- <!ATTLIST throw
- %throw.attrs;
- >
- <!--============================= Grammar Input =============================-->
- <!-- definitions adapted from SRGS 1.0 DTD -->
- <!ENTITY % rule-expansion "#PCDATA | token | ruleref
- | item | one-of | tag ">
- <!ELEMENT ruleref EMPTY>
- <!ATTLIST ruleref
- uri %uri; #IMPLIED
- type CDATA #IMPLIED
- special (NULL | VOID | GARBAGE) #IMPLIED
- >
- <!ELEMENT token (#PCDATA)>
- <!ATTLIST token
- xml:lang NMTOKEN #IMPLIED
- >
- <!ELEMENT tag (#PCDATA)>
- <!ELEMENT one-of (item)+>
- <!ATTLIST one-of
- xml:lang NMTOKEN #IMPLIED
- >
- <!ELEMENT item (%rule-expansion;)*>
- <!ATTLIST item
- repeat NMTOKEN #IMPLIED
- repeat-prob NMTOKEN #IMPLIED
- weight NMTOKEN #IMPLIED
- xml:lang NMTOKEN #IMPLIED
- >
- <!ELEMENT rule (%rule-expansion; | example)*>
- <!ATTLIST rule
- id ID #REQUIRED
- scope (private | public) "private"
- >
- <!ELEMENT example (#PCDATA)>
- <!ELEMENT lexicon EMPTY>
- <!ATTLIST lexicon
- uri %uri; #REQUIRED
- type CDATA #IMPLIED
- >
- <!-- Changes to SRGS 1.0 DTD grammar element:
- - mixed, unordered content model
- - addition of 'scope', 'src', 'type', 'weight' and caching attributes
- - 'version' attribute is optional
- - removal of xmlns, xmlns:xsi, and xsi:schemaLocation attributes
- -->
- <!ELEMENT grammar (#PCDATA | meta | metadata | lexicon | rule | tag)*>
- <!ATTLIST grammar
- scope %scope; #IMPLIED
- src %uri; #IMPLIED
- srcexpr %expression; #IMPLIED
- type CDATA #IMPLIED
- weight CDATA #IMPLIED
- %cache.attrs;
- tag-format %uri; #IMPLIED
- xml:base %uri; #IMPLIED
- version NMTOKEN #IMPLIED
- xml:lang NMTOKEN #IMPLIED
- root IDREF #IMPLIED
- mode (voice | dtmf) "voice"
- >
- <!--============================= Audio Input =============================-->
- <!ELEMENT record (%audio; | %event.handler; | filled | %input; | prompt |
- property)*>
- <!ATTLIST record
- %item.attrs;
- type CDATA #IMPLIED
- beep %boolean; "false"
- maxtime %duration; #IMPLIED
- modal %boolean; "true"
- finalsilence %duration; #IMPLIED
- dtmfterm %boolean; "true"
- >
- <!--============================ Call Control ============================-->
- <!ELEMENT disconnect EMPTY>
- <!ATTLIST disconnect
- namelist %variable.names; #IMPLIED
- >
- <!ELEMENT transfer (%audio; | %event.handler; | filled | %input; | prompt |
- property)*>
- <!ATTLIST transfer
- %item.attrs;
- dest %uri; #IMPLIED
- destexpr %expression; #IMPLIED
- bridge %boolean; #IMPLIED
- type (blind | bridge | consultation) #IMPLIED
- connecttimeout %duration; #IMPLIED
- maxtime %duration; #IMPLIED
- transferaudio %uri; #IMPLIED
- aai CDATA #IMPLIED
- aaiexpr %expression; #IMPLIED
- >
- <!--============================ Control Flow ============================-->
- <!ENTITY % if.attrs "cond %expression; #REQUIRED">
- <!ELEMENT if (%executable.content; | elseif | else)*>
- <!ATTLIST if
- %if.attrs;
- >
- <!ELEMENT elseif EMPTY>
- <!ATTLIST elseif
- %if.attrs;
- >
- <!ELEMENT else EMPTY>
- <!ELEMENT exit EMPTY>
- <!ATTLIST exit
- expr %expression; #IMPLIED
- namelist %variable.names; #IMPLIED
- >
- <!ELEMENT filled (%executable.content;)*>
- <!ATTLIST filled
- mode (any | all) #IMPLIED
- namelist %restrictedvariable.names; #IMPLIED
- >
- <!ELEMENT foreach (%foreach.content; | %sentence-elements; |
- %structure; | metadata)*
- >
- <!ATTLIST foreach
- item %restrictedvariable.name; #REQUIRED
- array CDATA #REQUIRED
- >
- <!ELEMENT goto EMPTY>
- <!ATTLIST goto
- %cache.attrs;
- %next.attrs;
- fetchaudio %uri; #IMPLIED
- expritem %expression; #IMPLIED
- nextitem %restrictedvariable.name; #IMPLIED
- >
- <!ELEMENT param EMPTY>
- <!ATTLIST param
- name NMTOKEN #REQUIRED
- expr %expression; #IMPLIED
- value CDATA #IMPLIED
- valuetype (data | ref) "data"
- type CDATA #IMPLIED
- >
- <!ELEMENT return EMPTY>
- <!ATTLIST return
- namelist %variable.names; #IMPLIED
- %throw.attrs;
- >
- <!ELEMENT subdialog (%audio; | %event.handler; | filled | param | prompt |
- property)*>
- <!ATTLIST subdialog
- %item.attrs;
- src %uri; #IMPLIED
- srcexpr %expression; #IMPLIED
- %cache.attrs;
- fetchaudio %uri; #IMPLIED
- %submit.attrs;
- >
- <!ELEMENT submit EMPTY>
- <!ATTLIST submit
- %cache.attrs;
- %next.attrs;
- fetchaudio %uri; #IMPLIED
- %submit.attrs;
- >
- <!--========================== Miscellaneous ==============================-->
- <!ELEMENT data EMPTY >
- <!ATTLIST data
- name %restrictedvariable.name; #REQUIRED
- src %uri; #IMPLIED
- srcexpr %expression; #IMPLIED
- fetchaudio %uri; #IMPLIED
- %submit.attrs;
- %cache.attrs;
- >
- <!ELEMENT log (#PCDATA | value)*>
- <!ATTLIST log
- label CDATA #IMPLIED
- expr %expression; #IMPLIED
- >
- <!ELEMENT object (%audio; | %event.handler; | filled | param | prompt |
- property)*>
- <!ATTLIST object
- %item.attrs;
- %cache.attrs;
- classid %uri; #IMPLIED
- codebase %uri; #IMPLIED
- data %uri; #IMPLIED
- type CDATA #IMPLIED
- codetype CDATA #IMPLIED
- archive %uri; #IMPLIED
- >
- <!ELEMENT property EMPTY>
- <!ATTLIST property
- name NMTOKEN #REQUIRED
- value CDATA #REQUIRED
- >
- <!ELEMENT script (#PCDATA)>
- <!ATTLIST script
- src %uri; #IMPLIED
- srcexpr %expression; #IMPLIED
- charset CDATA #IMPLIED
- %cache.attrs;
- >