diff options
author | Ville Skytt? <ville.skytta@iki.fi> | 2011-10-30 19:52:52 +0200 |
---|---|---|
committer | Ville Skytt? <ville.skytta@iki.fi> | 2011-10-30 19:52:52 +0200 |
commit | 34a557bd2ebaf71fb7974992dd5d1744ad1d4655 (patch) | |
tree | e4bc045e1694dfe3f1205ce625b782e8b9fa43ee /htdocs/sgml-lib | |
parent | 660d82032d486a89c07755e901535a92c37ad3ea (diff) | |
download | markup-validator-34a557bd2ebaf71fb7974992dd5d1744ad1d4655.zip markup-validator-34a557bd2ebaf71fb7974992dd5d1744ad1d4655.tar.gz markup-validator-34a557bd2ebaf71fb7974992dd5d1744ad1d4655.tar.bz2 |
Add VoiceXML 2.0 and 2.1 DTDs.
Diffstat (limited to 'htdocs/sgml-lib')
-rw-r--r-- | htdocs/sgml-lib/REC-voicexml20-20040316/vxml.dtd | 446 | ||||
-rw-r--r-- | htdocs/sgml-lib/REC-voicexml21-20070619/vxml.dtd | 474 | ||||
-rw-r--r-- | htdocs/sgml-lib/catalog.xml | 2 | ||||
-rw-r--r-- | htdocs/sgml-lib/xml.soc | 12 |
4 files changed, 934 insertions, 0 deletions
diff --git a/htdocs/sgml-lib/REC-voicexml20-20040316/vxml.dtd b/htdocs/sgml-lib/REC-voicexml20-20040316/vxml.dtd new file mode 100644 index 0000000..3eba640 --- /dev/null +++ b/htdocs/sgml-lib/REC-voicexml20-20040316/vxml.dtd @@ -0,0 +1,446 @@ +<!--
+VoiceXML 2.0 DTD (20031213)
+
+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 | 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 | field | var">
+<!--================================= Root ================================-->
+<!ELEMENT vxml (%event.handler; | 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
+ | 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 | %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 #REQUIRED
+>
+<!--================================ 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
+ 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>
+<!ELEMENT transfer (%audio; | %event.handler; | filled | %input; | prompt |
+ property)*>
+<!ATTLIST transfer
+ %item.attrs;
+ dest %uri; #IMPLIED
+ destexpr %expression; #IMPLIED
+ bridge %boolean; "false"
+ 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 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 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
+ charset CDATA #IMPLIED
+ %cache.attrs;
+>
diff --git a/htdocs/sgml-lib/REC-voicexml21-20070619/vxml.dtd b/htdocs/sgml-lib/REC-voicexml21-20070619/vxml.dtd new file mode 100644 index 0000000..7eb8e80 --- /dev/null +++ b/htdocs/sgml-lib/REC-voicexml21-20070619/vxml.dtd @@ -0,0 +1,474 @@ +<!-- +VoiceXML 2.1 DTD (20060322) + +Copyright 1998-2006 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 "> +<!ENTITY % expression "CDATA"> +<!ENTITY % restrictedvariable.name "CDATA"> +<!ENTITY % variable.name "CDATA"> +<!ENTITY % restrictedvariable.names "CDATA"> +<!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; | foreach | %structure; | lexicon + | 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 | %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 ID #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 NMTOKEN #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 +> + +<!-- executable content + contents of prompt --> +<!ELEMENT foreach (%executable.content; | %sentence-elements; | + %structure; )* +> +<!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; #IMPLIED + 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; +> diff --git a/htdocs/sgml-lib/catalog.xml b/htdocs/sgml-lib/catalog.xml index d4b612c..dc2d17d 100644 --- a/htdocs/sgml-lib/catalog.xml +++ b/htdocs/sgml-lib/catalog.xml @@ -254,4 +254,6 @@ <public publicId="-//W3C//ENTITIES Latin for HTML//EN//XML" uri="REC-xml-entity-names-20100401/xhtml1-lat1.ent" /> <public publicId="-//W3C//ENTITIES Special for HTML//EN//XML" uri="REC-xml-entity-names-20100401/xhtml1-special.ent" /> <public publicId="-//W3C//ENTITIES Symbol for HTML//EN//XML" uri="REC-xml-entity-names-20100401/xhtml1-symbol.ent" /> + <public publicId="-//W3C//DTD VOICEXML 2.0//EN" uri="REC-voicexml20-20040316/vxml.dtd" /> + <public publicId="-//W3C//DTD VOICEXML 2.1//EN" uri="REC-voicexml21-20070619/vxml.dtd" /> </catalog> diff --git a/htdocs/sgml-lib/xml.soc b/htdocs/sgml-lib/xml.soc index e3d77a1..b607b6e 100644 --- a/htdocs/sgml-lib/xml.soc +++ b/htdocs/sgml-lib/xml.soc @@ -608,6 +608,18 @@ PUBLIC "-//W3C//ENTITIES Symbol for HTML//EN//XML" "REC-xml-entity-names-20100401/xhtml1-symbol.ent" +-- VoiceXML 2.0 -- + +PUBLIC "-//W3C//DTD VOICEXML 2.0//EN" + "REC-voicexml20-20040316/vxml.dtd" + + +-- VoiceXML 2.1 -- + +PUBLIC "-//W3C//DTD VOICEXML 2.1//EN" + "REC-voicexml21-20070619/vxml.dtd" + + -- Do not prefer document type name over a SYSTEM Identifier. -- OVERRIDE NO |