view etc/schema/xhtml-form.rnc @ 110524:bf806d096e9a

Update to CEDET 1.0's version of EIEIO. * emacs-lisp/eieio.el (eieio-specialized-key-to-generic-key): New function. (eieio-defmethod, eieio-generic-form, eieio-generic-call): Use it. (eieio-default-eval-maybe): Eval val instead of unquoting only. (class-precedence-list): If class is nil, return nil. (eieio-generic-call): If class of first input arg is nil, don't look up static methods, and do check for primary methods. (initialize-instance): See if the default needs to be evaluated during the constructor. (eieio-perform-slot-validation-for-default): Don't do the check for values that will eventually be evaluated. (eieio-eval-default-p): New function. (eieio-default-eval-maybe): Use it. * emacs-lisp/eieio.el (eieio-defclass): Allow :c3 method-invocation-order. (eieio-c3-candidate, eieio-c3-merge-lists): New functions. (eieio-class-precedence-dfs): Compute class precedence list using dfs algorithm. (eieio-class-precedence-bfs): Compute class precedence list using bfs algorithm. (eieio-class-precedence-c3): compute class precedence list using c3 algorithm. (class-precedence-list): New function. (eieiomt-method-list, eieiomt-sym-optimize): Use it. (inconsistent-class-hierarchy): New error symbol. (call-next-method): Stow the replacement argument list for future call-next-method invocations.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 19 Sep 2010 00:23:57 -0400
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