view etc/schema/xhtml-form.rnc @ 107606:297c59e52ecf

Retrospective commit from 2009-12-26. Redesign handle_stop_backwards. Fix character mirroring for non-ASCII characters. xdisp.c (handle_stop_backwards): Call compute_stop_pos in the loop, instead of calling handle_stop. Call handle_stop only once, after the loop. (next_element_from_buffer): Don't call handle_stop_backwards if at stop position. If base_level_stop is zero, set it to 1. term.c (append_glyph): Fill resolved_level and bidi_type slots of struct glyph for unidirectional display. xdisp.c (set_cursor_from_row): Handle zero-width characters. bidi.c (bidi_mirror_char): More efficient code (suggested by Ehud Karni <ehud@unix.mvs.co.il>). Don't even try to mirror non-ASCII characters.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 01 Jan 2010 10:04:53 -0500
parents 9e48c9dc543f
children
line wrap: on
line source

# 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