summaryrefslogtreecommitdiff
path: root/etc/schema/xhtml-bform.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/schema/xhtml-bform.rnc')
-rw-r--r--etc/schema/xhtml-bform.rnc63
1 files changed, 63 insertions, 0 deletions
diff --git a/etc/schema/xhtml-bform.rnc b/etc/schema/xhtml-bform.rnc
new file mode 100644
index 00000000000..c0a78a1d72e
--- /dev/null
+++ b/etc/schema/xhtml-bform.rnc
@@ -0,0 +1,63 @@
+# 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