blob: b2b12bbf3ae8c0b1ae96138c9a24759afb5143da [file] [log] [blame]
david_williams524ed602007-05-15 02:42:24 +00001<!--
2Wireless Markup Language (WML) Document Type Definition.
3
4Copyright Wireless Application Protocol Forum Ltd., 1998,1999.
5 All rights reserved.
6
7WML is an XML language. Typical usage:
8 <?xml version="1.0"?>
9 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
10 "http://www.wapforum.org/DTD/wml_1.1.xml">
11 <wml>
12 ...
13 </wml>
14
15Terms and conditions of use are available from the Wireless
16Application Protocol Forum Ltd. web site at
17http://www.wapforum.org/docs/copyright.htm.
18-->
19
20<!ENTITY % length "CDATA"> <!-- [0-9]+ for pixels or [0-9]+"%" for
21 percentage length -->
22<!ENTITY % vdata "CDATA"> <!-- attribute value possibly containing
23 variable references -->
24<!ENTITY % HREF "%vdata;"> <!-- URI, URL or URN designating a hypertext
25 node. May contain variable references -->
26<!ENTITY % boolean "(true|false)">
27<!ENTITY % number "NMTOKEN"> <!-- a number, with format [0-9]+ -->
28<!ENTITY % coreattrs "id ID #IMPLIED
29 class CDATA #IMPLIED">
30
31
32
33<!ENTITY % emph "em | strong | b | i | u | big | small">
34<!ENTITY % layout "br">
35
36<!ENTITY % text "#PCDATA | %emph;">
37
38<!-- flow covers "card-level" elements, such as text and images -->
39<!ENTITY % flow "%text; | %layout; | img | anchor | a | table">
40
41<!-- Task types -->
42<!ENTITY % task "go | prev | noop | refresh">
43
44<!-- Navigation and event elements -->
45<!ENTITY % navelmts "do | onevent">
46
47<!--================ Decks and Cards ================-->
48
49<!ELEMENT wml ( head?, template?, card+ )>
50<!ATTLIST wml
51 xml:lang NMTOKEN #IMPLIED
52 %coreattrs;
53 >
54
55<!-- card intrinsic events -->
56<!ENTITY % cardev
57 "onenterforward %HREF; #IMPLIED
58 onenterbackward %HREF; #IMPLIED
59 ontimer %HREF; #IMPLIED"
60 >
61
62<!-- card field types -->
63<!ENTITY % fields "%flow; | input | select | fieldset">
64
65<!ELEMENT card (onevent*, timer?, (do | p)*)>
66<!ATTLIST card
67 title %vdata; #IMPLIED
68 newcontext %boolean; "false"
69 ordered %boolean; "true"
70 xml:lang NMTOKEN #IMPLIED
71 %cardev;
72 %coreattrs;
73 >
74
75<!--================ Event Bindings ================-->
76
77<!ELEMENT do (%task;)>
78<!ATTLIST do
79 type CDATA #REQUIRED
80 label %vdata; #IMPLIED
81 name NMTOKEN #IMPLIED
82 optional %boolean; "false"
83 xml:lang NMTOKEN #IMPLIED
84 %coreattrs;
85 >
86
87<!ELEMENT onevent (%task;)>
88<!ATTLIST onevent
89 type CDATA #REQUIRED
90 %coreattrs;
91 >
92
93<!--================ Deck-level declarations ================-->
94
95<!ELEMENT head ( access | meta )+>
96<!ATTLIST head
97 %coreattrs;
98 >
99
100<!ELEMENT template (%navelmts;)*>
101<!ATTLIST template
102 %cardev;
103 %coreattrs;
104 >
105
106<!ELEMENT access EMPTY>
107<!ATTLIST access
108 domain CDATA #IMPLIED
109 path CDATA #IMPLIED
110 %coreattrs;
111 >
112
113<!ELEMENT meta EMPTY>
114<!ATTLIST meta
115 http-equiv CDATA #IMPLIED
116 name CDATA #IMPLIED
117 forua %boolean; #IMPLIED
118 content CDATA #REQUIRED
119 scheme CDATA #IMPLIED
120 %coreattrs;
121 >
122
123<!--================ Tasks ================-->
124
125<!ELEMENT go (postfield | setvar)*>
126<!ATTLIST go
127 href %HREF; #REQUIRED
128 sendreferer %boolean; "false"
129 method (post|get) "get"
130 accept-charset CDATA #IMPLIED
131 %coreattrs;
132 >
133
134<!ELEMENT prev (setvar)*>
135<!ATTLIST prev
136 %coreattrs;
137 >
138
139<!ELEMENT refresh (setvar)*>
140<!ATTLIST refresh
141 %coreattrs;
142 >
143
144<!ELEMENT noop EMPTY>
145<!ATTLIST noop
146 %coreattrs;
147 >
148
149<!--================ postfield ================-->
150
151<!ELEMENT postfield EMPTY>
152<!ATTLIST postfield
153 name %vdata; #REQUIRED
154 value %vdata; #REQUIRED
155 %coreattrs;
156 >
157
158<!--================ variables ================-->
159
160<!ELEMENT setvar EMPTY>
161<!ATTLIST setvar
162 name %vdata; #REQUIRED
163 value %vdata; #REQUIRED
164 %coreattrs;
165 >
166
167<!--================ Card Fields ================-->
168
169<!ELEMENT select (optgroup|option)+>
170<!ATTLIST select
171 title %vdata; #IMPLIED
172 name NMTOKEN #IMPLIED
173 value %vdata; #IMPLIED
174 iname NMTOKEN #IMPLIED
175 ivalue %vdata; #IMPLIED
176 multiple %boolean; "false"
177 tabindex %number; #IMPLIED
178 xml:lang NMTOKEN #IMPLIED
179 %coreattrs;
180 >
181
182<!ELEMENT optgroup (optgroup|option)+ >
183<!ATTLIST optgroup
184 title %vdata; #IMPLIED
185 xml:lang NMTOKEN #IMPLIED
186 %coreattrs;
187 >
188
189<!ELEMENT option (#PCDATA | onevent)*>
190<!ATTLIST option
191 value %vdata; #IMPLIED
192 title %vdata; #IMPLIED
193 onpick %HREF; #IMPLIED
194 xml:lang NMTOKEN #IMPLIED
195 %coreattrs;
196 >
197
198<!ELEMENT input EMPTY>
199<!ATTLIST input
200 name NMTOKEN #REQUIRED
201 type (text|password) "text"
202 value %vdata; #IMPLIED
203 format CDATA #IMPLIED
204 emptyok %boolean; "false"
205 size %number; #IMPLIED
206 maxlength %number; #IMPLIED
207 tabindex %number; #IMPLIED
208 title %vdata; #IMPLIED
209 xml:lang NMTOKEN #IMPLIED
210 %coreattrs;
211 >
212
213<!ELEMENT fieldset (%fields; | do)* >
214<!ATTLIST fieldset
215 title %vdata; #IMPLIED
216 xml:lang NMTOKEN #IMPLIED
217 %coreattrs;
218 >
219
220<!ELEMENT timer EMPTY>
221<!ATTLIST timer
222 name NMTOKEN #IMPLIED
223 value %vdata; #REQUIRED
224 %coreattrs;
225 >
226
227<!--================ Images ================-->
228
229<!ENTITY % IAlign "(top|middle|bottom)" >
230
231<!ELEMENT img EMPTY>
232<!ATTLIST img
233 alt %vdata; #REQUIRED
234 src %HREF; #REQUIRED
235 localsrc %vdata; #IMPLIED
236 vspace %length; "0"
237 hspace %length; "0"
238 align %IAlign; "bottom"
239 height %length; #IMPLIED
240 width %length; #IMPLIED
241 xml:lang NMTOKEN #IMPLIED
242 %coreattrs;
243 >
244
245<!--================ Anchor ================-->
246
247<!ELEMENT anchor ( #PCDATA | br | img | go | prev | refresh )*>
248<!ATTLIST anchor
249 title %vdata; #IMPLIED
250 xml:lang NMTOKEN #IMPLIED
251 %coreattrs;
252 >
253
254<!ELEMENT a ( #PCDATA | br | img )*>
255<!ATTLIST a
256 href %HREF; #REQUIRED
257 title %vdata; #IMPLIED
258 xml:lang NMTOKEN #IMPLIED
259 %coreattrs;
260 >
261
262<!--================ Tables ================-->
263
264<!ELEMENT table (tr)+>
265<!ATTLIST table
266 title %vdata; #IMPLIED
267 align CDATA #IMPLIED
268 columns %number; #REQUIRED
269 xml:lang NMTOKEN #IMPLIED
270 %coreattrs;
271 >
272
273<!ELEMENT tr (td)+>
274<!ATTLIST tr
275 %coreattrs;
276 >
277
278<!ELEMENT td ( %text; | %layout; | img | anchor | a )*>
279<!ATTLIST td
280 xml:lang NMTOKEN #IMPLIED
281 %coreattrs;
282 >
283
284<!--================ Text layout and line breaks ================-->
285
286<!ELEMENT em (%flow;)*>
287<!ATTLIST em
288 xml:lang NMTOKEN #IMPLIED
289 %coreattrs;
290 >
291
292<!ELEMENT strong (%flow;)*>
293<!ATTLIST strong
294 xml:lang NMTOKEN #IMPLIED
295 %coreattrs;
296 >
297
298<!ELEMENT b (%flow;)*>
299<!ATTLIST b
300 xml:lang NMTOKEN #IMPLIED
301 %coreattrs;
302 >
303
304<!ELEMENT i (%flow;)*>
305<!ATTLIST i
306 xml:lang NMTOKEN #IMPLIED
307 %coreattrs;
308 >
309
310<!ELEMENT u (%flow;)*>
311<!ATTLIST u
312 xml:lang NMTOKEN #IMPLIED
313 %coreattrs;
314 >
315
316<!ELEMENT big (%flow;)*>
317<!ATTLIST big
318 xml:lang NMTOKEN #IMPLIED
319 %coreattrs;
320 >
321
322<!ELEMENT small (%flow;)*>
323<!ATTLIST small
324 xml:lang NMTOKEN #IMPLIED
325 %coreattrs;
326 >
327
328<!ENTITY % TAlign "(left|right|center)">
329<!ENTITY % WrapMode "(wrap|nowrap)" >
330<!ELEMENT p (%fields; | do)*>
331<!ATTLIST p
332 align %TAlign; "left"
333 mode %WrapMode; #IMPLIED
334 xml:lang NMTOKEN #IMPLIED
335 %coreattrs;
336 >
337
338<!ELEMENT br EMPTY>
339<!ATTLIST br
340 xml:lang NMTOKEN #IMPLIED
341 %coreattrs;
342 >
343
344<!ENTITY quot "&#34;"> <!-- quotation mark -->
345<!ENTITY amp "&#38;#38;"> <!-- ampersand -->
346<!ENTITY apos "&#39;"> <!-- apostrophe -->
347<!ENTITY lt "&#38;#60;"> <!-- less than -->
348<!ENTITY gt "&#62;"> <!-- greater than -->
349<!ENTITY nbsp "&#160;"> <!-- non-breaking space -->
350<!ENTITY shy "&#173;"> <!-- soft hyphen (discretionary hyphen) -->
351
352<!--
353Copyright Wireless Application Protocol Forum Ltd., 1998,1999.
354 All rights reserved.
355-->