1 <?xml version="1.0" encoding="utf-8"?>
5 Copyright 1998-2001 Sun Microsystems, Inc.
6 All Rights Reserved. Use is subject to license terms.
8 See the file "license.terms" for information on usage and
9 redistribution of this file, and for a DISCLAIMER OF ALL
14 <!-- **************************************************** -->
15 <!-- DTD: Java Speech API Markup Language - v0.6 -->
17 <!-- JSML specification available at: -->
18 <!-- http://java.sun.com/products/java-media/speech/ -->
20 <!-- Note: JSML is interpreted by speech synthesizers -->
21 <!-- with a non-validating parser, so strictly speaking -->
22 <!-- a DTD is not required. This DTD is intended -->
23 <!-- to be used by development tools such as format -->
24 <!-- checkers to verify JSML documents. -->
25 <!-- **************************************************** -->
27 <!-- **************************************************** -->
28 <!-- Revision history: -->
30 <!-- created 1 December 1998 by William Walker -->
31 <!-- v0.5 specification -->
32 <!-- revised 12 October 1999 by Andrew Hunt -->
33 <!-- v0.6 specification -->
34 <!-- **************************************************** -->
36 <!-- **************************************************** -->
37 <!-- The complete set of JSML elements: -->
38 <!-- Structural: jsml, div -->
39 <!-- Production: voice, sayas, phoneme, emphasis, -->
40 <!-- break, prosody -->
41 <!-- Miscellaneous: marker, engine -->
42 <!-- **************************************************** -->
44 <!-- **************************************************** -->
45 <!-- Define common entities -->
46 <!-- **************************************************** -->
48 <!-- The set of production elements -->
49 <!ENTITY % production 'voice|sayas|phoneme|emphasis|break|prosody'>
51 <!-- The set of miscellaneous elements -->
52 <!ENTITY % miscellaneous 'marker|engine'>
54 <!-- The mark attribute present on all elements -->
55 <!ENTITY % att-mark 'mark CDATA #IMPLIED'>
57 <!-- **************************************************** -->
58 <!-- JSML structural elements and attributes -->
59 <!-- **************************************************** -->
61 <!-- Root JSML element -->
62 <!ELEMENT jsml (#PCDATA | div | %production; | %miscellaneous;)*>
64 <!ATTLIST jsml lang CDATA #IMPLIED
67 <!-- preserve white space - it is significant in JSML -->
68 <!ATTLIST jsml xml:space (default|preserve) "preserve">
71 <!-- div: text structure element -->
72 <!ELEMENT div (#PCDATA | div | %production; | %miscellaneous;)*>
74 <!ATTLIST div type (para|paragraph|sent|sentence) #REQUIRED
78 <!-- **************************************************** -->
79 <!-- JSML production elements and attributes -->
80 <!-- **************************************************** -->
82 <!-- "voice" requests a change in speaking voice -->
83 <!ELEMENT voice (#PCDATA | div | %production; | %miscellaneous;)*>
85 <!ATTLIST voice gender (male | female | neutral) #IMPLIED
87 variant CDATA #IMPLIED
92 <!-- "sayas" indicates the type of text contained by the element -->
93 <!ELEMENT sayas (#PCDATA)>
95 <!-- The set of sayas classes -->
96 <!-- We do not enumerate all possible formats here -->
97 <!ENTITY % sayastypes 'literal|date|time|name|phone|net|address|currency|measure|number'>
99 <!ATTLIST sayas class (%sayastypes;|CDATA) #REQUIRED
103 <!-- "phoneme": contained text is a phonemic string of IPA characters -->
104 <!ELEMENT phoneme (#PCDATA)>
106 <!ATTLIST phoneme original CDATA #IMPLIED
110 <!-- "emphasis": specify stress for contained text -->
111 <!ELEMENT emphasis (#PCDATA | %production; | %miscellaneous;)*>
113 <!ATTLIST emphasis level (none|moderate|strong) "moderate"
116 <!-- "break": insert a pause or other boundary -->
117 <!ELEMENT break EMPTY>
119 <!ATTLIST break size (none|small|medium|large) "medium"
123 <!-- "prosody": set acoustic properties for contained text -->
124 <!ELEMENT prosody (#PCDATA | div | %production; | %miscellaneous;)*>
126 <!ATTLIST prosody rate CDATA #IMPLIED
127 volume CDATA #IMPLIED
132 <!-- "marker": insert a callback request -->
133 <!ELEMENT marker EMPTY>
135 <!ATTLIST marker %att-mark;>
138 <!-- "engine": insert synthesizer-specific data -->
139 <!ELEMENT engine (#PCDATA | div | %production; | %miscellaneous;)*>
141 <!ATTLIST engine name CDATA #IMPLIED