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