view etc/schema/xhtml-bform.rnc @ 109748:e2f8226efb99

Fix -Wwrite_strings in general and for Gtk+ specific code. * callproc.c (synch_process_death): Make const. (Fcall_process): Make signame const. * emacs.c (main): Pass char[] to putenv instead of literal. * floatfns.c (matherr): Use a const char* variable for x->name. * font.c (font_open_by_name): Make name const. * font.h (font_open_by_name): Make name const. * gtkutil.c (get_utf8_string): Always return an allocated string. Parameter is const. (create_dialog, xg_create_one_menuitem, create_menus) (xg_item_label_same_p, xg_update_menu_item): Free result from get_utf8_string. (xg_separator_p, xg_item_label_same_p): label is const. * gtkutil.h: Replace widget_value with struct _widget_value. (enum button_type, struct _widget_value): Remove and use the one from keyboard.h. * keyboard.h (_widget_value): Add defined USE_GTK. Replace Boolean with unsigned char and XtPointer with void *. * menu.c (Fx_popup_menu): error_name is const. * menu.h (w32_menu_show, ns_menu_show, xmenu_show): error parameter is const char **. * w32menu.c (w32_menu_show): * nsmenu.m (ns_menu_show): error parameter is const char **. * process.h (synch_process_death): Is const char*. * xmenu.c (Fx_popup_dialog): error_name is const char*. (xmenu_show): error parameter is const char **. pane_string is const char *. (button_names): Is const char *. (xdialog_show): error_name and pane_string is const. * xrdb.c (get_system_app): Make path const and use char *p for non-const char. * xselect.c (Fx_get_atom_name): Use char empty[] instead of literal "". * xsmfns.c (NOSPLASH_OPT): Change to char[]. (smc_save_yourself_CB): Do xstrdup on all ->type and ->name for props. Free them at the end. * xterm.c (emacs_class): New char[] for EMACS_CLASS. (xim_open_dpy, xim_initialize, xim_close_dpy): Use emacs_class. (x_term_init): Use char[] display_opt and name_opt instead of string literal. file is const char*.
author Jan D <jan.h.d@swipnet.se>
date Wed, 11 Aug 2010 14:34:46 +0200
parents 9e48c9dc543f
children
line wrap: on
line source

# Simplified Forms Module

form =
  element form {
    form.attlist,
    # Don't use Block.model, because this gets redefined by the
    # legacy module.
    Block.class+
  }
form.attlist =
  Common.attrib,
  attribute action { URI.datatype },
  attribute method { "get" | "post" }?,
  attribute enctype { ContentType.datatype }?
label = element label { label.attlist, Inline.model }
label.attlist =
  Common.attrib,
  attribute for { IDREF.datatype }?,
  attribute accesskey { Character.datatype }?
input = element input { input.attlist }
input.attlist =
  Common.attrib,
  attribute type { InputType.class }?,
  attribute name { text }?,
  attribute value { text }?,
  attribute checked { "checked" }?,
  attribute size { text }?,
  attribute maxlength { Number.datatype }?,
  attribute src { URI.datatype }?,
  attribute accesskey { Character.datatype }?
InputType.class =
  "text"
  | "password"
  | "checkbox"
  | "radio"
  | "submit"
  | "reset"
  | "hidden"
select = element select { select.attlist, option+ }
select.attlist =
  Common.attrib,
  attribute name { text }?,
  attribute size { Number.datatype }?,
  attribute multiple { "multiple" }?
option =
  element option {
    Common.attrib,
    attribute selected { "selected" }?,
    attribute value { text }?,
    text
  }
textarea = element textarea { textarea.attlist }
textarea.attlist =
  Common.attrib,
  attribute name { text }?,
  attribute rows { Number.datatype },
  attribute cols { Number.datatype },
  attribute accesskey { Character.datatype }?,
  text
Form.class = form
Formctrl.class = input | label | select | textarea
Block.class |= Form.class
Inline.class |= Formctrl.class