upstream version 1.2.2
[debian/freetts] / com / sun / speech / engine / synthesis / jsml.dtd
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4
5 Copyright 1998-2001 Sun Microsystems, Inc.
6 All Rights Reserved.  Use is subject to license terms.
7  
8 See the file "license.terms" for information on usage and
9 redistribution of this file, and for a DISCLAIMER OF ALL 
10 WARRANTIES.
11
12 -->
13
14 <!-- **************************************************** -->
15 <!-- DTD: Java Speech API Markup Language - v0.6          -->
16 <!--                                                      -->
17 <!-- JSML specification available at:                     -->
18 <!--  http://java.sun.com/products/java-media/speech/     -->
19 <!--                                                      -->
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 <!-- **************************************************** -->
26
27 <!-- **************************************************** -->
28 <!-- Revision history:                                    -->
29 <!--                                                      -->
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 <!-- **************************************************** -->
35
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 <!-- **************************************************** -->
43
44 <!-- **************************************************** -->
45 <!-- Define common entities -->
46 <!-- **************************************************** -->
47
48 <!-- The set of production elements -->
49 <!ENTITY % production 'voice|sayas|phoneme|emphasis|break|prosody'>
50
51 <!-- The set of miscellaneous elements -->
52 <!ENTITY % miscellaneous 'marker|engine'>
53
54 <!-- The mark attribute present on all elements -->
55 <!ENTITY % att-mark  'mark CDATA #IMPLIED'>
56
57 <!-- **************************************************** -->
58 <!-- JSML structural elements and attributes              -->
59 <!-- **************************************************** -->
60
61 <!-- Root JSML element -->
62 <!ELEMENT jsml (#PCDATA | div | %production; | %miscellaneous;)*>
63
64 <!ATTLIST jsml   lang   CDATA   #IMPLIED
65                  %att-mark; >
66
67 <!-- preserve white space - it is significant in JSML -->
68 <!ATTLIST jsml xml:space (default|preserve) "preserve">
69
70
71 <!-- div: text structure element -->
72 <!ELEMENT div (#PCDATA | div | %production; | %miscellaneous;)*>
73
74 <!ATTLIST div   type    (para|paragraph|sent|sentence) #REQUIRED
75                 %att-mark;>
76
77
78 <!-- **************************************************** -->
79 <!-- JSML production elements and attributes              -->
80 <!-- **************************************************** -->
81
82 <!-- "voice" requests a change in speaking voice -->
83 <!ELEMENT voice (#PCDATA | div | %production; | %miscellaneous;)*>
84
85 <!ATTLIST voice gender   (male | female | neutral) #IMPLIED
86                 age      CDATA                     #IMPLIED
87                 variant  CDATA                     #IMPLIED
88                 name     CDATA                     #IMPLIED
89                 %att-mark;>
90
91
92 <!-- "sayas" indicates the type of text contained by the element -->
93 <!ELEMENT sayas (#PCDATA)>
94
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'>
98
99 <!ATTLIST sayas class  (%sayastypes;|CDATA)  #REQUIRED
100                 %att-mark;>
101
102
103 <!-- "phoneme": contained text is a phonemic string of IPA characters -->
104 <!ELEMENT phoneme (#PCDATA)>
105
106 <!ATTLIST phoneme  original  CDATA  #IMPLIED
107                    %att-mark;>
108
109
110 <!-- "emphasis": specify stress for contained text -->
111 <!ELEMENT emphasis (#PCDATA | %production; | %miscellaneous;)*>
112
113 <!ATTLIST emphasis  level  (none|moderate|strong) "moderate"
114                     %att-mark;>
115
116 <!-- "break": insert a pause or other boundary -->
117 <!ELEMENT break EMPTY>
118
119 <!ATTLIST break size  (none|small|medium|large) "medium"
120                 time  CDATA                     #IMPLIED
121                 %att-mark;>
122
123 <!-- "prosody": set acoustic properties for contained text -->
124 <!ELEMENT prosody (#PCDATA | div | %production; | %miscellaneous;)*>
125
126 <!ATTLIST prosody rate    CDATA  #IMPLIED
127                   volume  CDATA  #IMPLIED
128                   pitch   CDATA  #IMPLIED
129                   range   CDATA  #IMPLIED
130                   %att-mark;>
131
132 <!-- "marker": insert a callback request -->
133 <!ELEMENT marker EMPTY>
134
135 <!ATTLIST marker %att-mark;>
136
137
138 <!-- "engine": insert synthesizer-specific data -->
139 <!ELEMENT engine (#PCDATA | div | %production; | %miscellaneous;)*>
140
141 <!ATTLIST engine name  CDATA  #IMPLIED
142                  data  CDATA  #REQUIRED
143                  %att-mark; >