Mercurial > emacs
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