Initial commit.
[hacks/unrof.git] / xhtml.cd
1 (* This file has been automatically generated by dtd2cduce *)
2 namespace xhtml = "http://www.w3.org/1999/xhtml"
3 ;;
4
5 type xhtml:td =
6        <td valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") colspan=?String rowspan=?String scope=?("row" | "col" | "rowgroup" | "colgroup") headers=?String axis=?String abbr=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
7           xhtml:mixed_content*
8           ];;
9 type xhtml:th =
10        <th valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") colspan=?String rowspan=?String scope=?("row" | "col" | "rowgroup" | "colgroup") headers=?String axis=?String abbr=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
11           xhtml:mixed_content*
12           ];;
13 type xhtml:tr =
14        <tr valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
15           (xhtml:th | xhtml:td)+ ];;
16 type xhtml:col =
17        <col valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") width=?String span=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
18            ];;
19 type xhtml:colgroup =
20        <colgroup valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") width=?String span=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
21           xhtml:col* ];;
22 type xhtml:tbody =
23        <tbody valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
24           xhtml:tr+ ];;
25 type xhtml:tfoot =
26        <tfoot valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
27           xhtml:tr+ ];;
28 type xhtml:thead =
29        <thead valign=?("top" | "middle" | "bottom" | "baseline") charoff=?String char=?String align=?("left" | "center" | "right" | "justify" | "char") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
30           xhtml:tr+ ];;
31 type xhtml:caption =
32        <caption onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
33           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
34           ];;
35 type xhtml:table =
36        <table cellpadding=?String cellspacing=?String rules=?("none" | "groups" | "rows" | "cols" | "all") frame=?("void" | "above" | "below" | "hsides" | "lhs" | "rhs" | "vsides" | "box" | "border") border=?String width=?String summary=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
37           (xhtml:caption? (xhtml:col* | xhtml:colgroup*) xhtml:thead? xhtml:tfoot?
38            (xhtml:tbody+ | xhtml:tr+))
39           ];;
40 type xhtml:button =
41        <button disabled=?("disabled") type=?("button" | "submit" | "reset") value=?String name=?String onblur=?String onfocus=?String tabindex=?String accesskey=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
42           ( Char | xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address | xhtml:table | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:noscript | xhtml:ins | xhtml:del | xhtml:script )*
43           ];;
44 type xhtml:legend =
45        <legend accesskey=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
46           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
47           ];;
48 type xhtml:fieldset =
49        <fieldset onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
50           ( Char | xhtml:legend | xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:noscript | xhtml:ins | xhtml:del | xhtml:script )*
51           ];;
52 type xhtml:textarea =
53        <textarea onchange=?String onselect=?String readonly=?("readonly") disabled=?("disabled") cols=String rows=String name=?String onblur=?String onfocus=?String tabindex=?String accesskey=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
54           ( Char )* ];;
55 type xhtml:option =
56        <option value=?String label=?String disabled=?("disabled") selected=?("selected") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
57           ( Char )* ];;
58 type xhtml:optgroup =
59        <optgroup label=String disabled=?("disabled") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
60           xhtml:option+ ];;
61 type xhtml:select =
62        <select onchange=?String onblur=?String onfocus=?String tabindex=?String disabled=?("disabled") multiple=?("multiple") size=?String name=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
63           (xhtml:optgroup | xhtml:option)+ ];;
64 type xhtml:input =
65        <input accept=?String onchange=?String onselect=?String usemap=?String alt=?String src=?String maxlength=?String size=?String readonly=?("readonly") disabled=?("disabled") checked=?("checked") value=?String name=?String type=?("text" | "password" | "checkbox" | "radio" | "submit" | "reset" | "file" | "hidden" | "image" | "button") onblur=?String onfocus=?String tabindex=?String accesskey=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
66            ];;
67 type xhtml:label =
68        <label onblur=?String onfocus=?String accesskey=?String for=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
69           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
70           ];;
71 type xhtml:form =
72        <form accept-charset=?String accept=?String onreset=?String onsubmit=?String enctype=?String method=?("get" | "post") action=String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
73           (xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul
74            | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address
75            | xhtml:fieldset | xhtml:table | xhtml:noscript | xhtml:ins | xhtml:del | xhtml:script)*
76           ];;
77 type xhtml:area =
78        <area alt=String nohref=?("nohref") href=?String coords=?String shape=?("rect" | "circle" | "poly" | "default") onblur=?String onfocus=?String tabindex=?String accesskey=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
79            ];;
80 type xhtml:map =
81        <map name=?String title=?String style=?String class=?String id=String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String>[
82           ((xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul
83             | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address
84             | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:noscript | xhtml:ins | xhtml:del
85             | xhtml:script)+
86            | xhtml:area+)
87           ];;
88 type xhtml:img =
89        <img ismap=?("ismap") usemap=?String width=?String height=?String longdesc=?String alt=String src=String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
90            ];;
91 type xhtml:param =
92        <param type=?String valuetype=?("data" | "ref" | "object") value=?String name=?String id=?String>[
93            ];;
94 type xhtml:object =
95        <object tabindex=?String name=?String usemap=?String width=?String height=?String standby=?String archive=?String codetype=?String type=?String data=?String codebase=?String classid=?String declare=?("declare") onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
96           ( Char | xhtml:param | xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:noscript | xhtml:ins | xhtml:del | xhtml:script )*
97           ];;
98 type xhtml:small =
99        <small onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
100           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
101           ];;
102 type xhtml:big =
103        <big onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
104           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
105           ];;
106 type xhtml:b =
107        <b onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
108           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
109           ];;
110 type xhtml:i =
111        <i onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
112           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
113           ];;
114 type xhtml:tt =
115        <tt onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
116           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
117           ];;
118 type xhtml:sup =
119        <sup onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
120           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
121           ];;
122 type xhtml:sub =
123        <sub onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
124           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
125           ];;
126 type xhtml:q =
127        <q cite=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
128           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
129           ];;
130 type xhtml:acronym =
131        <acronym onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
132           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
133           ];;
134 type xhtml:abbr =
135        <abbr onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
136           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
137           ];;
138 type xhtml:cite =
139        <cite onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
140           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
141           ];;
142 type xhtml:var =
143        <var onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
144           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
145           ];;
146 type xhtml:kbd =
147        <kbd onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
148           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
149           ];;
150 type xhtml:samp =
151        <samp onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
152           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
153           ];;
154 type xhtml:code =
155        <code onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
156           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
157           ];;
158 type xhtml:dfn =
159        <dfn onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
160           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
161           ];;
162 type xhtml:strong =
163        <strong onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
164           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
165           ];;
166 type xhtml:em =
167        <em onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
168           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
169           ];;
170 type xhtml:br = <br title=?String style=?String class=?String id=?String>[  ];;
171 type xhtml:bdo =
172        <bdo dir=("ltr" | "rtl") xml:lang=?String lang=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String title=?String style=?String class=?String id=?String>[
173           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
174           ];;
175 type xhtml:span =
176        <span onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
177           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
178           ];;
179 type xhtml:a =
180        <a coords=?String shape=?("rect" | "circle" | "poly" | "default") rev=?String rel=?String hreflang=?String href=?String name=?String type=?String charset=?String onblur=?String onfocus=?String tabindex=?String accesskey=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
181           ( Char | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
182           ];;
183 type xhtml:del =
184        <del datetime=?String cite=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
185           xhtml:mixed_content*
186           ];;
187 type xhtml:ins =
188        <ins datetime=?String cite=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
189           xhtml:mixed_content*
190           ];;
191 type xhtml:blockquote =
192        <blockquote cite=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
193           (xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul
194            | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address
195            | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:noscript | xhtml:ins | xhtml:del
196            | xhtml:script)*
197           ];;
198 type xhtml:pre =
199        <pre xml:space="preserve" onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
200           ( Char | xhtml:a | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:ins | xhtml:del | xhtml:script | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button )*
201           ];;
202 type xhtml:hr =
203        <hr onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
204            ];;
205 type xhtml:address =
206        <address onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
207           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
208           ];;
209 type xhtml:dd =
210        <dd onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
211           xhtml:mixed_content*
212           ];;
213 type xhtml:dt =
214        <dt onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
215           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
216           ];;
217 type xhtml:dl =
218        <dl onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
219           (xhtml:dt | xhtml:dd)+ ];;
220 type xhtml:li =
221        <li onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
222           xhtml:mixed_content*
223           ];;
224 type xhtml:ol =
225        <ol onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
226           xhtml:li+ ];;
227 type xhtml:ul =
228        <ul onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
229           xhtml:li+ ];;
230 type xhtml:h6 =
231        <h6 onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
232           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
233           ];;
234 type xhtml:h5 =
235        <h5 onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
236           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
237           ];;
238 type xhtml:h4 =
239        <h4 onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
240           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
241           ];;
242 type xhtml:h3 =
243        <h3 onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
244           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
245           ];;
246 type xhtml:h2 =
247        <h2 onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
248           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
249           ];;
250 type xhtml:h1 =
251        <h1 onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
252           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
253           ];;
254 type xhtml:p =
255        <p onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
256           ( Char | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:ins | xhtml:del | xhtml:script )*
257           ];;
258
259 type xhtml:mixed_content =
260  ( Char | xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:a | xhtml:br | xhtml:span | xhtml:bdo | xhtml:map | xhtml:object | xhtml:img | xhtml:tt | xhtml:i | xhtml:b | xhtml:big | xhtml:small | xhtml:em | xhtml:strong | xhtml:dfn | xhtml:code | xhtml:q | xhtml:samp | xhtml:kbd | xhtml:var | xhtml:cite | xhtml:abbr | xhtml:acronym | xhtml:sub | xhtml:sup | xhtml:input | xhtml:select | xhtml:textarea | xhtml:label | xhtml:button | xhtml:noscript | xhtml:ins | xhtml:del | xhtml:script )
261 ;;
262 type xhtml:div =
263        <div onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
264           xhtml:mixed_content*
265           ];;
266 type xhtml:body_content = (xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul
267            | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address
268            | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:noscript | xhtml:ins | xhtml:del
269            | xhtml:script)
270
271 type xhtml:body =
272        <body onunload=?String onload=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
273           xhtml:body_content*
274           ];;
275 type xhtml:noscript =
276        <noscript onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
277           (xhtml:p | xhtml:h1 | xhtml:h2 | xhtml:h3 | xhtml:h4 | xhtml:h5 | xhtml:h6 | xhtml:div | xhtml:ul
278            | xhtml:ol | xhtml:dl | xhtml:pre | xhtml:hr | xhtml:blockquote | xhtml:address
279            | xhtml:fieldset | xhtml:table | xhtml:form | xhtml:noscript | xhtml:ins | xhtml:del
280            | xhtml:script)*
281           ];;
282 type xhtml:script =
283        <script defer=?("defer") src=?String type=String charset=?String id=?String>[
284           ( Char )* ];;
285 type xhtml:style =
286        <style xml:space="preserve" title=?String media=?String type=String id=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String>[
287           ( Char )* ];;
288 type xhtml:link =
289        <link media=?String rev=?String rel=?String type=?String hreflang=?String href=?String charset=?String onkeyup=?String onkeydown=?String onkeypress=?String onmouseout=?String onmousemove=?String onmouseover=?String onmouseup=?String onmousedown=?String ondblclick=?String onclick=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String title=?String style=?String class=?String id=?String>[
290            ];;
291 type xhtml:meta =
292        <meta scheme=?String content=String name=?String http-equiv=?String id=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String>[
293            ];;
294 type xhtml:base = <base id=?String href=String>[  ];;
295 type xhtml:title =
296        <title id=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String>[
297           ( Char )* ];;
298 type xhtml:head =
299        <head profile=?String id=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String>[
300           ((xhtml:script | xhtml:style | xhtml:meta | xhtml:link | xhtml:object)*
301            ((xhtml:title (xhtml:script | xhtml:style | xhtml:meta | xhtml:link | xhtml:object)*
302              (xhtml:base (xhtml:script | xhtml:style | xhtml:meta | xhtml:link | xhtml:object)*)?)
303             | (xhtml:base (xhtml:script | xhtml:style | xhtml:meta | xhtml:link | xhtml:object)*
304                (xhtml:title (xhtml:script | xhtml:style | xhtml:meta | xhtml:link | xhtml:object)*))))
305           ];;
306 type xhtml:html =
307        <html xmlns="http://www.w3.org/1999/xhtml" id=?String dir=?("ltr" | "rtl") xml:lang=?String lang=?String>[
308           (xhtml:head xhtml:body) ];;
309
310
311 let xhtml:serialize (doc : xhtml:html) (mode : `html5|`xhtml) (file : Latin1) : [] =
312   let doctype =
313     match mode with
314     | `html5 ->  "<!DOCTYPE html >"
315     | `xhtml ->  "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
316   in
317   let buffer =
318     doctype @ "\n" @ (print_xml_utf8 doc)
319   in
320   dump_to_file_utf8 file buffer
321
322
323 let xhtml:create (head : xhtml:head) (body : xhtml:body) : xhtml:html =
324     <html xmlns="http://www.w3.org/1999/xhtml">[ head body ]