Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
200 lines (183 sloc) 3.99 KB
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Simplified Forms Module -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<define name="form">
<element name="form">
<ref name="form.attlist"/>
<!-- Don't use Block.model, because this gets redefined by the
legacy module. -->
<oneOrMore>
<ref name="Block.class"/>
</oneOrMore>
</element>
</define>
<define name="form.attlist">
<ref name="Common.attrib"/>
<attribute name="action">
<ref name="URI.datatype"/>
</attribute>
<optional>
<attribute name="method">
<choice>
<value>get</value>
<value>post</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="enctype">
<ref name="ContentType.datatype"/>
</attribute>
</optional>
</define>
<define name="label">
<element name="label">
<ref name="label.attlist"/>
<ref name="Inline.model"/>
</element>
</define>
<define name="label.attlist">
<ref name="Common.attrib"/>
<optional>
<attribute name="for">
<ref name="IDREF.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="accesskey">
<ref name="Character.datatype"/>
</attribute>
</optional>
</define>
<define name="input">
<element name="input">
<ref name="input.attlist"/>
</element>
</define>
<define name="input.attlist">
<ref name="Common.attrib"/>
<optional>
<attribute name="type">
<ref name="InputType.class"/>
</attribute>
</optional>
<optional>
<attribute name="name"/>
</optional>
<optional>
<attribute name="value"/>
</optional>
<optional>
<attribute name="checked">
<value>checked</value>
</attribute>
</optional>
<optional>
<attribute name="size"/>
</optional>
<optional>
<attribute name="maxlength">
<ref name="Number.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="src">
<ref name="URI.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="accesskey">
<ref name="Character.datatype"/>
</attribute>
</optional>
</define>
<define name="InputType.class">
<choice>
<value>text</value>
<value>password</value>
<value>checkbox</value>
<value>radio</value>
<value>submit</value>
<value>reset</value>
<value>hidden</value>
</choice>
</define>
<define name="select">
<element name="select">
<ref name="select.attlist"/>
<oneOrMore>
<ref name="option"/>
</oneOrMore>
</element>
</define>
<define name="select.attlist">
<ref name="Common.attrib"/>
<optional>
<attribute name="name"/>
</optional>
<optional>
<attribute name="size">
<ref name="Number.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="multiple">
<value>multiple</value>
</attribute>
</optional>
</define>
<define name="option">
<element name="option">
<ref name="Common.attrib"/>
<optional>
<attribute name="selected">
<value>selected</value>
</attribute>
</optional>
<optional>
<attribute name="value"/>
</optional>
<text/>
</element>
</define>
<define name="textarea">
<element name="textarea">
<ref name="textarea.attlist"/>
</element>
</define>
<define name="textarea.attlist">
<ref name="Common.attrib"/>
<optional>
<attribute name="name"/>
</optional>
<attribute name="rows">
<ref name="Number.datatype"/>
</attribute>
<attribute name="cols">
<ref name="Number.datatype"/>
</attribute>
<optional>
<attribute name="accesskey">
<ref name="Character.datatype"/>
</attribute>
</optional>
<text/>
</define>
<define name="Form.class">
<ref name="form"/>
</define>
<define name="Formctrl.class">
<choice>
<ref name="input"/>
<ref name="label"/>
<ref name="select"/>
<ref name="textarea"/>
</choice>
</define>
<define name="Block.class" combine="choice">
<ref name="Form.class"/>
</define>
<define name="Inline.class" combine="choice">
<ref name="Formctrl.class"/>
</define>
</grammar>