86361
|
1 # Forms Module
|
|
2
|
|
3 # Unlike the DTD implementation, this builds on the basic-form module
|
|
4
|
|
5 include "xhtml-basic-form.rnc" {
|
|
6 select = element select { select.attlist, (option | optgroup)+ }
|
|
7 }
|
|
8 form.attlist &=
|
|
9 attribute accept-charset { Charsets.datatype }?,
|
|
10 attribute accept { ContentTypes.datatype }?
|
|
11 input.attlist &=
|
|
12 attribute disabled { "disabled" }?,
|
|
13 attribute readonly { "readonly" }?,
|
|
14 attribute alt { text }?,
|
|
15 attribute tabindex { Number.datatype }?,
|
|
16 attribute accept { ContentTypes.datatype }?
|
|
17 InputType.class |= "image" | "button"
|
|
18 select.attlist &=
|
|
19 attribute disabled { "disabled" }?,
|
|
20 attribute tabindex { Number.datatype }?
|
|
21 option.attlist &=
|
|
22 attribute disabled { "disabled" }?,
|
|
23 attribute label { Text.datatype }?
|
|
24 optgroup = element optgroup { optgroup.attlist, option+ }
|
|
25 optgroup.attlist =
|
|
26 Common.attrib,
|
|
27 attribute disabled { "disabled" }?,
|
|
28 attribute label { Text.datatype }
|
|
29 textarea.attlist &=
|
|
30 attribute disabled { "disabled" }?,
|
|
31 attribute readonly { "readonly" }?,
|
|
32 attribute tabindex { Number.datatype }?
|
|
33 fieldset = element fieldset { fieldset.attlist, legend, Flow.model }
|
|
34 fieldset.attlist = Common.attrib
|
|
35 button = element button { button.attlist, Flow.model }
|
|
36 button.attlist =
|
|
37 Common.attrib,
|
|
38 attribute name { text }?,
|
|
39 attribute value { text }?,
|
|
40 attribute type { "button" | "submit" | "reset" }?,
|
|
41 attribute disabled { "disabled" }?,
|
|
42 attribute tabindex { Number.datatype }?,
|
|
43 attribute accesskey { Character.datatype }?
|
|
44 legend = element legend { legend.attlist, Inline.model }
|
|
45 legend.attlist =
|
|
46 Common.attrib,
|
|
47 attribute accesskey { Character.datatype }?
|
|
48 Form.class |= fieldset
|
|
49 Formctrl.class |= button
|