summaryrefslogtreecommitdiff
path: root/etc/schema/xhtml-form.rnc
blob: 99a0474afbe0f1eb44d2860d460092451562e5be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Forms Module

# Unlike the DTD implementation, this builds on the basic-form module

include "xhtml-bform.rnc" {
  select = element select { select.attlist, (option | optgroup)+ }
}
form.attlist &=
  attribute accept-charset { Charsets.datatype }?,
  attribute accept { ContentTypes.datatype }?
input.attlist &=
  attribute disabled { "disabled" }?,
  attribute readonly { "readonly" }?,
  attribute alt { text }?,
  attribute tabindex { Number.datatype }?,
  attribute accept { ContentTypes.datatype }?
InputType.class |= "image" | "button"
select.attlist &=
  attribute disabled { "disabled" }?,
  attribute tabindex { Number.datatype }?
option.attlist &=
  attribute disabled { "disabled" }?,
  attribute label { Text.datatype }?
optgroup = element optgroup { optgroup.attlist, option+ }
optgroup.attlist =
  Common.attrib,
  attribute disabled { "disabled" }?,
  attribute label { Text.datatype }
textarea.attlist &=
  attribute disabled { "disabled" }?,
  attribute readonly { "readonly" }?,
  attribute tabindex { Number.datatype }?
fieldset = element fieldset { fieldset.attlist, legend, Flow.model }
fieldset.attlist = Common.attrib
button = element button { button.attlist, Flow.model }
button.attlist =
  Common.attrib,
  attribute name { text }?,
  attribute value { text }?,
  attribute type { "button" | "submit" | "reset" }?,
  attribute disabled { "disabled" }?,
  attribute tabindex { Number.datatype }?,
  attribute accesskey { Character.datatype }?
legend = element legend { legend.attlist, Inline.model }
legend.attlist =
  Common.attrib,
  attribute accesskey { Character.datatype }?
Form.class |= fieldset
Formctrl.class |= button