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