source: trunk/lib/docbook/website/schema/relaxng/forms.rng @ 3162

Last change on this file since 3162 was 3153, checked in by Nicklas Nordborg, 16 years ago

Added docbook DTD:s and stylesheets

File size: 8.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<grammar xmlns="http://relaxng.org/ns/structure/1.0"
3         xmlns:rng="http://relaxng.org/ns/structure/1.0"
4         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
5         xmlns:doc="http://nwalsh.com/xmlns/documentation"
6         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
7         xmlns:html="http://www.w3.org/1999/xhtml"
8         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
9
10<rng:div doc:docbook="yes" xmlns="">
11<partinfo>
12<releaseinfo
13   role="cvs">$Id: forms.rng,v 1.1 2004/03/03 22:31:10 dweiss Exp $</releaseinfo>
14<title>Website HTML Forms Module</title>
15<productname>Website</productname>
16<productnumber>2.4.1</productnumber>
17<releaseinfo role="filename">forms</releaseinfo>
18<copyright>
19<year>2002</year>
20<year>2003</year>
21<holder>Norman Walsh</holder>
22</copyright>
23</partinfo>
24
25<partintro>
26<para>This is the HTML Forms module for Website.</para>
27
28<para>Please direct all questions and comments about this schema to
29Norman Walsh, <email>ndw@nwalsh.com</email>.</para>
30</partintro>
31</rng:div>
32
33<define name="local.para.char.mix" combine="choice">
34  <choice>
35    <ref name="html-input"/>
36    <ref name="html-button"/>
37    <ref name="html-label"/>
38    <ref name="html-select"/>
39    <ref name="html-textarea"/>
40  </choice>
41</define>
42
43<define name="local.divcomponent.mix" combine="choice">
44  <choice>
45    <ref name="html-form"/>
46  </choice>
47</define>
48
49<define name="events.attrib">
50  <optional>
51    <attribute name="onclick"/>
52  </optional>
53  <optional>
54    <attribute name="ondblclick"/>
55  </optional>
56  <optional>
57    <attribute name="onmousedown"/>
58  </optional>
59  <optional>
60    <attribute name="onmouseup"/>
61  </optional>
62  <optional>
63    <attribute name="onmouseover"/>
64  </optional>
65  <optional>
66    <attribute name="onmousemove"/>
67  </optional>
68  <optional>
69    <attribute name="onmouseout"/>
70  </optional>
71  <optional>
72    <attribute name="onkeypress"/>
73  </optional>
74  <optional>
75    <attribute name="onkeydown"/>
76  </optional>
77  <optional>
78    <attribute name="onkeyup"/>
79  </optional>
80</define>
81
82<define name="html-form">
83  <element name="html:form">
84    <oneOrMore>
85      <choice>
86        <ref name="component.mix"/>
87        <ref name="html-input"/>
88        <ref name="html-button"/>
89        <ref name="html-label"/>
90        <ref name="html-select"/>
91        <ref name="html-textarea"/>
92      </choice>
93    </oneOrMore>
94    <ref name="common.attrib"/>
95    <ref name="events.attrib"/>
96    <attribute name="action"/>
97    <optional>
98      <attribute name="method" a:defaultValue="GET">
99        <choice>
100          <value>GET</value>
101          <value>POST</value>
102        </choice>
103      </attribute>
104    </optional>
105    <optional>
106      <attribute name="onsubmit"/>
107    </optional>
108    <optional>
109      <attribute name="onreset"/>
110    </optional>
111  </element>
112</define>
113
114<define name="inputtype">
115  <choice>
116    <value>text</value>
117    <value>password</value>
118    <value>checkbox</value>
119    <value>radio</value>
120    <value>submit</value>
121    <value>reset</value>
122    <value>file</value>
123    <value>hidden</value>
124    <value>image</value>
125    <value>button</value>
126  </choice>
127</define>
128
129<define name="html-input">
130  <element name="html:input">
131    <ref name="common.attrib"/>
132    <ref name="events.attrib"/>
133    <optional>
134      <attribute name="type" a:defaultValue="text">
135        <ref name="inputtype"/>
136      </attribute>
137    </optional>
138    <optional>
139      <attribute name="name"/>
140    </optional>
141    <optional>
142      <attribute name="value"/>
143    </optional>
144    <optional>
145      <attribute name="checked">
146        <choice>
147          <value>checked</value>
148        </choice>
149      </attribute>
150    </optional>
151    <optional>
152      <attribute name="disabled">
153        <choice>
154          <value>disabled</value>
155        </choice>
156      </attribute>
157    </optional>
158    <optional>
159      <attribute name="readonly">
160        <choice>
161          <value>readonly</value>
162        </choice>
163      </attribute>
164    </optional>
165    <optional>
166      <attribute name="size"/>
167    </optional>
168    <optional>
169      <attribute name="maxlength"/>
170    </optional>
171    <optional>
172      <attribute name="src"/>
173    </optional>
174    <optional>
175      <attribute name="alt"/>
176    </optional>
177    <optional>
178      <attribute name="usemap"/>
179    </optional>
180    <optional>
181      <attribute name="tabindex"/>
182    </optional>
183    <optional>
184      <attribute name="accesskey"/>
185    </optional>
186    <optional>
187      <attribute name="onfocus"/>
188    </optional>
189    <optional>
190      <attribute name="onblur"/>
191    </optional>
192    <optional>
193      <attribute name="onselect"/>
194    </optional>
195    <optional>
196      <attribute name="onchange"/>
197    </optional>
198    <empty/>
199  </element>
200</define>
201
202<define name="html-button">
203  <element name="html:button">
204    <ref name="common.attrib"/>
205    <ref name="events.attrib"/>
206    <optional>
207      <attribute name="type" a:defaultValue="submit">
208        <choice>
209          <value>button</value>
210          <value>submit</value>
211          <value>reset</value>
212        </choice>
213      </attribute>
214    </optional>
215    <optional>
216      <attribute name="name"/>
217    </optional>
218    <optional>
219      <attribute name="value"/>
220    </optional>
221    <optional>
222      <attribute name="disabled">
223        <choice>
224          <value>disabled</value>
225        </choice>
226      </attribute>
227    </optional>
228    <optional>
229      <attribute name="tabindex"/>
230    </optional>
231    <optional>
232      <attribute name="accesskey"/>
233    </optional>
234    <optional>
235      <attribute name="onfocus"/>
236    </optional>
237    <optional>
238      <attribute name="onblur"/>
239    </optional>
240    <zeroOrMore>
241      <ref name="para.char.mix"/>
242    </zeroOrMore>
243  </element>
244</define>
245
246<define name="html-label">
247  <element name="html:label">
248    <ref name="common.attrib"/>
249    <ref name="events.attrib"/>
250    <optional>
251      <attribute name="for">
252        <data type="IDREF"/>
253      </attribute>
254    </optional>
255    <optional>
256      <attribute name="accesskey"/>
257    </optional>
258    <optional>
259      <attribute name="onfocus"/>
260    </optional>
261    <optional>
262      <attribute name="onblur"/>
263    </optional>
264    <ref name="para.char.mix"/>
265  </element>
266</define>
267
268<define name="html-select">
269  <element name="html:select">
270    <ref name="common.attrib"/>
271    <ref name="events.attrib"/>
272    <optional>
273      <attribute name="name"/>
274    </optional>
275    <optional>
276      <attribute name="size"/>
277    </optional>
278    <optional>
279      <attribute name="multiple">
280        <choice>
281          <value>multiple</value>
282        </choice>
283      </attribute>
284    </optional>
285    <optional>
286      <attribute name="disabled">
287        <choice>
288          <value>disabled</value>
289        </choice>
290      </attribute>
291    </optional>
292    <optional>
293      <attribute name="tabindex"/>
294    </optional>
295    <optional>
296      <attribute name="onfocus"/>
297    </optional>
298    <optional>
299      <attribute name="onblur"/>
300    </optional>
301    <optional>
302      <attribute name="onchange"/>
303    </optional>
304    <oneOrMore>
305      <ref name="html-option"/>
306    </oneOrMore>
307  </element>
308</define>
309
310<define name="html-option">
311  <element name="html:option">
312    <ref name="common.attrib"/>
313    <ref name="events.attrib"/>
314    <optional>
315      <attribute name="selected">
316        <choice>
317          <value>selected</value>
318        </choice>
319      </attribute>
320    </optional>
321    <optional>
322      <attribute name="disabled">
323        <choice>
324          <value>disabled</value>
325        </choice>
326      </attribute>
327    </optional>
328    <optional>
329      <attribute name="value"/>
330    </optional>
331    <text/>
332  </element>
333</define>
334
335<define name="html-textarea">
336  <element name="html:textarea">
337    <ref name="common.attrib"/>
338    <ref name="events.attrib"/>
339    <optional>
340      <attribute name="name"/>
341    </optional>
342    <attribute name="rows"/>
343    <attribute name="cols"/>
344    <optional>
345      <attribute name="disabled">
346        <choice>
347          <value>disabled</value>
348        </choice>
349      </attribute>
350    </optional>
351    <optional>
352      <attribute name="readonly">
353        <choice>
354          <value>readonly</value>
355        </choice>
356      </attribute>
357    </optional>
358    <optional>
359      <attribute name="tabindex"/>
360    </optional>
361    <optional>
362      <attribute name="accesskey"/>
363    </optional>
364    <optional>
365      <attribute name="onfocus"/>
366    </optional>
367    <optional>
368      <attribute name="onblur"/>
369    </optional>
370    <optional>
371      <attribute name="onselect"/>
372    </optional>
373    <optional>
374      <attribute name="onchange"/>
375    </optional>
376    <text/>
377  </element>
378</define>
379
380</grammar>
Note: See TracBrowser for help on using the repository browser.