1 <!-- ...................................................................... --> |
|
2 <!-- XHTML Forms Module .................................................. --> |
|
3 <!-- file: xhtml-form-1.mod |
|
4 |
|
5 This is XHTML, a reformulation of HTML as a modular XML application. |
|
6 Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. |
|
7 Revision: $Id: xhtml-form-1.mod,v 1.1 2004-02-23 16:11:21 ylafon Exp $ SMI |
|
8 |
|
9 This DTD module is identified by the PUBLIC and SYSTEM identifiers: |
|
10 |
|
11 PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN" |
|
12 SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod" |
|
13 |
|
14 Revisions: |
|
15 (none) |
|
16 ....................................................................... --> |
|
17 |
|
18 <!-- Forms |
|
19 |
|
20 form, label, input, select, optgroup, option, |
|
21 textarea, fieldset, legend, button |
|
22 |
|
23 This module declares markup to provide support for online |
|
24 forms, based on the features found in HTML 4 forms. |
|
25 --> |
|
26 |
|
27 <!-- declare qualified element type names: |
|
28 --> |
|
29 <!ENTITY % form.qname "form" > |
|
30 <!ENTITY % label.qname "label" > |
|
31 <!ENTITY % input.qname "input" > |
|
32 <!ENTITY % select.qname "select" > |
|
33 <!ENTITY % optgroup.qname "optgroup" > |
|
34 <!ENTITY % option.qname "option" > |
|
35 <!ENTITY % textarea.qname "textarea" > |
|
36 <!ENTITY % fieldset.qname "fieldset" > |
|
37 <!ENTITY % legend.qname "legend" > |
|
38 <!ENTITY % button.qname "button" > |
|
39 |
|
40 <!-- %BlkNoForm.mix; includes all non-form block elements, |
|
41 plus %Misc.class; |
|
42 --> |
|
43 <!ENTITY % BlkNoForm.mix |
|
44 "%Heading.class; |
|
45 | %List.class; |
|
46 | %BlkStruct.class; |
|
47 %BlkPhras.class; |
|
48 %BlkPres.class; |
|
49 %Table.class; |
|
50 %Block.extra; |
|
51 %Misc.class;" |
|
52 > |
|
53 |
|
54 <!-- form: Form Element ................................ --> |
|
55 |
|
56 <!ENTITY % form.element "INCLUDE" > |
|
57 <![%form.element;[ |
|
58 <!ENTITY % form.content |
|
59 "( %BlkNoForm.mix; |
|
60 | %fieldset.qname; )+" |
|
61 > |
|
62 <!ELEMENT %form.qname; %form.content; > |
|
63 <!-- end of form.element -->]]> |
|
64 |
|
65 <!ENTITY % form.attlist "INCLUDE" > |
|
66 <![%form.attlist;[ |
|
67 <!ATTLIST %form.qname; |
|
68 %Common.attrib; |
|
69 action %URI.datatype; #REQUIRED |
|
70 method ( get | post ) 'get' |
|
71 enctype %ContentType.datatype; 'application/x-www-form-urlencoded' |
|
72 accept-charset %Charsets.datatype; #IMPLIED |
|
73 accept %ContentTypes.datatype; #IMPLIED |
|
74 > |
|
75 <!-- end of form.attlist -->]]> |
|
76 |
|
77 <!-- label: Form Field Label Text ...................... --> |
|
78 |
|
79 <!-- Each label must not contain more than ONE field |
|
80 --> |
|
81 |
|
82 <!ENTITY % label.element "INCLUDE" > |
|
83 <![%label.element;[ |
|
84 <!ENTITY % label.content |
|
85 "( #PCDATA |
|
86 | %input.qname; | %select.qname; | %textarea.qname; | %button.qname; |
|
87 | %InlStruct.class; |
|
88 %InlPhras.class; |
|
89 %I18n.class; |
|
90 %InlPres.class; |
|
91 %Anchor.class; |
|
92 %InlSpecial.class; |
|
93 %Inline.extra; |
|
94 %Misc.class; )*" |
|
95 > |
|
96 <!ELEMENT %label.qname; %label.content; > |
|
97 <!-- end of label.element -->]]> |
|
98 |
|
99 <!ENTITY % label.attlist "INCLUDE" > |
|
100 <![%label.attlist;[ |
|
101 <!ATTLIST %label.qname; |
|
102 %Common.attrib; |
|
103 for IDREF #IMPLIED |
|
104 accesskey %Character.datatype; #IMPLIED |
|
105 > |
|
106 <!-- end of label.attlist -->]]> |
|
107 |
|
108 <!-- input: Form Control ............................... --> |
|
109 |
|
110 <!ENTITY % input.element "INCLUDE" > |
|
111 <![%input.element;[ |
|
112 <!ENTITY % input.content "EMPTY" > |
|
113 <!ELEMENT %input.qname; %input.content; > |
|
114 <!-- end of input.element -->]]> |
|
115 |
|
116 <!ENTITY % input.attlist "INCLUDE" > |
|
117 <![%input.attlist;[ |
|
118 <!ENTITY % InputType.class |
|
119 "( text | password | checkbox | radio | submit |
|
120 | reset | file | hidden | image | button )" |
|
121 > |
|
122 <!-- attribute 'name' required for all but submit & reset |
|
123 --> |
|
124 <!ATTLIST %input.qname; |
|
125 %Common.attrib; |
|
126 type %InputType.class; 'text' |
|
127 name CDATA #IMPLIED |
|
128 value CDATA #IMPLIED |
|
129 checked ( checked ) #IMPLIED |
|
130 disabled ( disabled ) #IMPLIED |
|
131 readonly ( readonly ) #IMPLIED |
|
132 size %Number.datatype; #IMPLIED |
|
133 maxlength %Number.datatype; #IMPLIED |
|
134 src %URI.datatype; #IMPLIED |
|
135 alt %Text.datatype; #IMPLIED |
|
136 tabindex %Number.datatype; #IMPLIED |
|
137 accesskey %Character.datatype; #IMPLIED |
|
138 accept %ContentTypes.datatype; #IMPLIED |
|
139 > |
|
140 <!-- end of input.attlist -->]]> |
|
141 |
|
142 <!-- select: Option Selector ........................... --> |
|
143 |
|
144 <!ENTITY % select.element "INCLUDE" > |
|
145 <![%select.element;[ |
|
146 <!ENTITY % select.content |
|
147 "( %optgroup.qname; | %option.qname; )+" |
|
148 > |
|
149 <!ELEMENT %select.qname; %select.content; > |
|
150 <!-- end of select.element -->]]> |
|
151 |
|
152 <!ENTITY % select.attlist "INCLUDE" > |
|
153 <![%select.attlist;[ |
|
154 <!ATTLIST %select.qname; |
|
155 %Common.attrib; |
|
156 name CDATA #IMPLIED |
|
157 size %Number.datatype; #IMPLIED |
|
158 multiple ( multiple ) #IMPLIED |
|
159 disabled ( disabled ) #IMPLIED |
|
160 tabindex %Number.datatype; #IMPLIED |
|
161 > |
|
162 <!-- end of select.attlist -->]]> |
|
163 |
|
164 <!-- optgroup: Option Group ............................ --> |
|
165 |
|
166 <!ENTITY % optgroup.element "INCLUDE" > |
|
167 <![%optgroup.element;[ |
|
168 <!ENTITY % optgroup.content "( %option.qname; )+" > |
|
169 <!ELEMENT %optgroup.qname; %optgroup.content; > |
|
170 <!-- end of optgroup.element -->]]> |
|
171 |
|
172 <!ENTITY % optgroup.attlist "INCLUDE" > |
|
173 <![%optgroup.attlist;[ |
|
174 <!ATTLIST %optgroup.qname; |
|
175 %Common.attrib; |
|
176 disabled ( disabled ) #IMPLIED |
|
177 label %Text.datatype; #REQUIRED |
|
178 > |
|
179 <!-- end of optgroup.attlist -->]]> |
|
180 |
|
181 <!-- option: Selectable Choice ......................... --> |
|
182 |
|
183 <!ENTITY % option.element "INCLUDE" > |
|
184 <![%option.element;[ |
|
185 <!ENTITY % option.content "( #PCDATA )" > |
|
186 <!ELEMENT %option.qname; %option.content; > |
|
187 <!-- end of option.element -->]]> |
|
188 |
|
189 <!ENTITY % option.attlist "INCLUDE" > |
|
190 <![%option.attlist;[ |
|
191 <!ATTLIST %option.qname; |
|
192 %Common.attrib; |
|
193 selected ( selected ) #IMPLIED |
|
194 disabled ( disabled ) #IMPLIED |
|
195 label %Text.datatype; #IMPLIED |
|
196 value CDATA #IMPLIED |
|
197 > |
|
198 <!-- end of option.attlist -->]]> |
|
199 |
|
200 <!-- textarea: Multi-Line Text Field ................... --> |
|
201 |
|
202 <!ENTITY % textarea.element "INCLUDE" > |
|
203 <![%textarea.element;[ |
|
204 <!ENTITY % textarea.content "( #PCDATA )" > |
|
205 <!ELEMENT %textarea.qname; %textarea.content; > |
|
206 <!-- end of textarea.element -->]]> |
|
207 |
|
208 <!ENTITY % textarea.attlist "INCLUDE" > |
|
209 <![%textarea.attlist;[ |
|
210 <!ATTLIST %textarea.qname; |
|
211 %Common.attrib; |
|
212 name CDATA #IMPLIED |
|
213 rows %Number.datatype; #REQUIRED |
|
214 cols %Number.datatype; #REQUIRED |
|
215 disabled ( disabled ) #IMPLIED |
|
216 readonly ( readonly ) #IMPLIED |
|
217 tabindex %Number.datatype; #IMPLIED |
|
218 accesskey %Character.datatype; #IMPLIED |
|
219 > |
|
220 <!-- end of textarea.attlist -->]]> |
|
221 |
|
222 <!-- fieldset: Form Control Group ...................... --> |
|
223 |
|
224 <!-- #PCDATA is to solve the mixed content problem, |
|
225 per specification only whitespace is allowed |
|
226 --> |
|
227 |
|
228 <!ENTITY % fieldset.element "INCLUDE" > |
|
229 <![%fieldset.element;[ |
|
230 <!ENTITY % fieldset.content |
|
231 "( #PCDATA | %legend.qname; | %Flow.mix; )*" |
|
232 > |
|
233 <!ELEMENT %fieldset.qname; %fieldset.content; > |
|
234 <!-- end of fieldset.element -->]]> |
|
235 |
|
236 <!ENTITY % fieldset.attlist "INCLUDE" > |
|
237 <![%fieldset.attlist;[ |
|
238 <!ATTLIST %fieldset.qname; |
|
239 %Common.attrib; |
|
240 > |
|
241 <!-- end of fieldset.attlist -->]]> |
|
242 |
|
243 <!-- legend: Fieldset Legend ........................... --> |
|
244 |
|
245 <!ENTITY % legend.element "INCLUDE" > |
|
246 <![%legend.element;[ |
|
247 <!ENTITY % legend.content |
|
248 "( #PCDATA | %Inline.mix; )*" |
|
249 > |
|
250 <!ELEMENT %legend.qname; %legend.content; > |
|
251 <!-- end of legend.element -->]]> |
|
252 |
|
253 <!ENTITY % legend.attlist "INCLUDE" > |
|
254 <![%legend.attlist;[ |
|
255 <!ATTLIST %legend.qname; |
|
256 %Common.attrib; |
|
257 accesskey %Character.datatype; #IMPLIED |
|
258 > |
|
259 <!-- end of legend.attlist -->]]> |
|
260 |
|
261 <!-- button: Push Button ............................... --> |
|
262 |
|
263 <!ENTITY % button.element "INCLUDE" > |
|
264 <![%button.element;[ |
|
265 <!ENTITY % button.content |
|
266 "( #PCDATA |
|
267 | %BlkNoForm.mix; |
|
268 | %InlStruct.class; |
|
269 %InlPhras.class; |
|
270 %InlPres.class; |
|
271 %I18n.class; |
|
272 %InlSpecial.class; |
|
273 %Inline.extra; )*" |
|
274 > |
|
275 <!ELEMENT %button.qname; %button.content; > |
|
276 <!-- end of button.element -->]]> |
|
277 |
|
278 <!ENTITY % button.attlist "INCLUDE" > |
|
279 <![%button.attlist;[ |
|
280 <!ATTLIST %button.qname; |
|
281 %Common.attrib; |
|
282 name CDATA #IMPLIED |
|
283 value CDATA #IMPLIED |
|
284 type ( button | submit | reset ) 'submit' |
|
285 disabled ( disabled ) #IMPLIED |
|
286 tabindex %Number.datatype; #IMPLIED |
|
287 accesskey %Character.datatype; #IMPLIED |
|
288 > |
|
289 <!-- end of button.attlist -->]]> |
|
290 |
|
291 <!-- end of xhtml-form-1.mod --> |
|