/[svn]/tests/html2latex.cd
ViewVC logotype

Contents of /tests/html2latex.cd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 237 - (show annotations)
Tue Jul 10 17:18:04 2007 UTC (5 years, 10 months ago) by abate
File size: 64552 byte(s)
[r2003-03-14 16:14:17 by cvscast] Empty log message

Original author: cvscast
Date: 2003-03-14 16:15:14+00:00
1 (* This type has been automatically generated from xhtml-trans.xml by dtd2cduce *)
2 type X_td =
3 <td height=?String; width=?String; bgcolor=?String; nowrap=?("nowrap"); 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>[
4 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
5 ];;
6 type X_th =
7 <th height=?String; width=?String; bgcolor=?String; nowrap=?("nowrap"); 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>[
8 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
9 ];;
10 type X_tr =
11 <tr bgcolor=?String; 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>[
12 (X_th | X_td)+ ];;
13 type X_col =
14 <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>[
15 ];;
16 type X_colgroup =
17 <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>[
18 X_col* ];;
19 type X_tbody =
20 <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>[
21 X_tr+ ];;
22 type X_tfoot =
23 <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>[
24 X_tr+ ];;
25 type X_thead =
26 <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>[
27 X_tr+ ];;
28 type X_caption =
29 <caption align=?("top" | "bottom" | "left" | "right"); 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 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
31 ];;
32 type X_table =
33 <table bgcolor=?String; align=?("left" | "center" | "right"); 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>[
34 (X_caption? (X_col* | X_colgroup*) X_thead? X_tfoot?
35 (X_tbody+ | X_tr+))
36 ];;
37 type X_isindex =
38 <isindex prompt=?String; dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String; title=?String; style=?String; class=?String; id=?String>[
39 ];;
40 type X_button =
41 <button onblur=?String; onfocus=?String; accesskey=?String; tabindex=?String; disabled=?("disabled"); type=?("button" | "submit" | "reset"); value=?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>[
42 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_table | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_ins | X_del | X_script | X_noscript )*
43 ];;
44 type X_legend =
45 <legend align=?("top" | "bottom" | "left" | "right"); 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 | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
47 ];;
48 type X_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 | X_legend | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
51 ];;
52 type X_textarea =
53 <textarea onchange=?String; onselect=?String; onblur=?String; onfocus=?String; accesskey=?String; tabindex=?String; readonly=?("readonly"); disabled=?("disabled"); cols=String; rows=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>[
54 ( Char )* ];;
55 type X_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 X_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 X_option+ ];;
61 type X_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 (X_optgroup | X_option)+ ];;
64 type X_input =
65 <input align=?("top" | "middle" | "bottom" | "left" | "right"); accept=?String; onchange=?String; onselect=?String; onblur=?String; onfocus=?String; accesskey=?String; tabindex=?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"); 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 X_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 | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
70 ];;
71 type X_form =
72 <form target=?String; accept-charset=?String; accept=?String; onreset=?String; onsubmit=?String; enctype=?String; name=?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 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
74 ];;
75 type X_area =
76 <area target=?String; onblur=?String; onfocus=?String; accesskey=?String; tabindex=?String; alt=String; nohref=?("nohref"); href=?String; coords=?String; shape=?("rect" | "circle" | "poly" | "default"); 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>[
77 ];;
78 type X_map =
79 <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>[
80 ((X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul
81 | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote
82 | X_address | X_center | X_noframes | X_isindex | X_fieldset
83 | X_table | X_form | X_ins | X_del | X_script | X_noscript)+
84 | X_area+)
85 ];;
86 type X_img =
87 <img vspace=?String; hspace=?String; border=?String; align=?("top" | "middle" | "bottom" | "left" | "right"); ismap=?("ismap"); usemap=?String; width=?String; height=?String; longdesc=?String; name=?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>[
88 ];;
89 type X_applet =
90 <applet vspace=?String; hspace=?String; align=?("top" | "middle" | "bottom" | "left" | "right"); height=String; width=String; name=?String; alt=?String; object=?String; code=?String; archive=?String; codebase=?String; title=?String; style=?String; class=?String; id=?String>[
91 ( Char | X_param | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
92 ];;
93 type X_param =
94 <param type=?String; valuetype=?("data" | "ref" | "object"); value=?String; name=String; id=?String>[
95 ];;
96 type X_object =
97 <object vspace=?String; hspace=?String; border=?String; align=?("top" | "middle" | "bottom" | "left" | "right"); 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>[
98 ( Char | X_param | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
99 ];;
100 type X_font =
101 <font face=?String; color=?String; size=?String; dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String; title=?String; style=?String; class=?String; id=?String>[
102 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
103 ];;
104 type X_basefont =
105 <basefont face=?String; color=?String; size=String; id=?String>[ ];;
106 type X_strike =
107 <strike 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 | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
109 ];;
110 type X_s =
111 <s 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 | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
113 ];;
114 type X_u =
115 <u 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 | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
117 ];;
118 type X_small =
119 <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>[
120 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
121 ];;
122 type X_big =
123 <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>[
124 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
125 ];;
126 type X_b =
127 <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>[
128 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
129 ];;
130 type X_i =
131 <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>[
132 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
133 ];;
134 type X_tt =
135 <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>[
136 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
137 ];;
138 type X_sup =
139 <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>[
140 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
141 ];;
142 type X_sub =
143 <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>[
144 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
145 ];;
146 type X_q =
147 <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>[
148 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
149 ];;
150 type X_acronym =
151 <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>[
152 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
153 ];;
154 type X_abbr =
155 <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>[
156 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
157 ];;
158 type X_cite =
159 <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>[
160 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
161 ];;
162 type X_var =
163 <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>[
164 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
165 ];;
166 type X_kbd =
167 <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>[
168 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
169 ];;
170 type X_samp =
171 <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>[
172 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
173 ];;
174 type X_code =
175 <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>[
176 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
177 ];;
178 type X_dfn =
179 <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>[
180 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
181 ];;
182 type X_strong =
183 <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>[
184 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
185 ];;
186 type X_em =
187 <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>[
188 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
189 ];;
190 type X_br =
191 <br clear=?("left" | "all" | "right" | "none"); title=?String; style=?String; class=?String; id=?String>[
192 ];;
193 type X_bdo =
194 <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>[
195 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
196 ];;
197 type X_span =
198 <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>[
199 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
200 ];;
201 type X_a =
202 <a target=?String; onblur=?String; onfocus=?String; tabindex=?String; coords=?String; shape=?("rect" | "circle" | "poly" | "default"); accesskey=?String; rev=?String; rel=?String; hreflang=?String; href=?String; name=?String; type=?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>[
203 ( Char | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
204 ];;
205 type X_del =
206 <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>[
207 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
208 ];;
209 type X_ins =
210 <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>[
211 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
212 ];;
213 type X_center =
214 <center 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 | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
216 ];;
217 type X_blockquote =
218 <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>[
219 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
220 ];;
221 type X_pre =
222 <pre width=?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>[
223 ( Char | X_a | X_br | X_span | X_bdo | X_map | X_tt | X_i | X_b | X_u | X_s | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button )*
224 ];;
225 type X_hr =
226 <hr width=?String; size=?String; noshade=?("noshade"); align=?("left" | "center" | "right"); 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>[
227 ];;
228 type X_address =
229 <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>[
230 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
231 ];;
232 type X_dd =
233 <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>[
234 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
235 ];;
236 type X_dt =
237 <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>[
238 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
239 ];;
240 type X_dl =
241 <dl compact=?("compact"); 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>[
242 (X_dt | X_dd)+ ];;
243 type X_li =
244 <li value=?String; type=?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>[
245 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
246 ];;
247 type X_dir =
248 <dir compact=?("compact"); 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>[
249 X_li+ ];;
250 type X_menu =
251 <menu compact=?("compact"); 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 X_li+ ];;
253 type X_ol =
254 <ol start=?String; compact=?("compact"); type=?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>[
255 X_li+ ];;
256 type X_ul =
257 <ul compact=?("compact"); type=?("disc" | "square" | "circle"); 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>[
258 X_li+ ];;
259 type X_h6 =
260 <h6 align=?("left" | "center" | "right"); 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>[
261 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
262 ];;
263 type X_h5 =
264 <h5 align=?("left" | "center" | "right"); 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>[
265 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
266 ];;
267 type X_h4 =
268 <h4 align=?("left" | "center" | "right"); 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>[
269 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
270 ];;
271 type X_h3 =
272 <h3 align=?("left" | "center" | "right"); 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 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
274 ];;
275 type X_h2 =
276 <h2 align=?("left" | "center" | "right"); 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 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
278 ];;
279 type X_h1 =
280 <h1 align=?("left" | "center" | "right"); 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>[
281 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
282 ];;
283 type X_p =
284 <p align=?("left" | "center" | "right"); 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>[
285 ( Char | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
286 ];;
287 type X_div =
288 <div align=?("left" | "center" | "right"); 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>[
289 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
290 ];;
291 type X_body =
292 <body alink=?String; vlink=?String; link=?String; text=?String; bgcolor=?String; background=?String; 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>[
293 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
294 ];;
295 type X_noframes =
296 <noframes 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>[
297 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
298 ];;
299 type X_iframe =
300 <iframe width=?String; height=?String; align=?("top" | "middle" | "bottom" | "left" | "right"); scrolling=?("yes" | "no" | "auto"); marginheight=?String; marginwidth=?String; frameborder=?("1" | "0"); src=?String; name=?String; longdesc=?String; title=?String; style=?String; class=?String; id=?String>[
301 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
302 ];;
303 type X_noscript =
304 <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>[
305 ( Char | X_p | X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6 | X_div | X_ul | X_ol | X_dl | X_menu | X_dir | X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes | X_isindex | X_fieldset | X_table | X_form | X_a | X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map | X_iframe | X_tt | X_i | X_b | X_big | X_small | X_u | X_s | X_strike | X_font | X_basefont | X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup | X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym | X_input | X_select | X_textarea | X_label | X_button | X_ins | X_del | X_script | X_noscript )*
306 ];;
307 type X_script =
308 <script defer=?("defer"); src=?String; language=?String; type=String; charset=?String>[
309 ( Char )* ];;
310 type X_style =
311 <style title=?String; media=?String; type=String; dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String>[
312 ( Char )* ];;
313 type X_link =
314 <link target=?String; 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>[
315 ];;
316 type X_meta =
317 <meta scheme=?String; content=String; name=?String; http-equiv=?String; dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String>[
318 ];;
319 type X_base = <base target=?String; href=?String>[ ];;
320 type X_title =
321 <title dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String>[
322 ( Char )* ];;
323 type X_head =
324 <head profile=?String; dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String>[
325 ((X_script | X_style | X_meta | X_link | X_object | X_isindex)*
326 ((X_title
327 (X_script | X_style | X_meta | X_link | X_object | X_isindex)*
328 (X_base
329 (X_script | X_style | X_meta | X_link | X_object | X_isindex)*)?)
330 | (X_base
331 (X_script | X_style | X_meta | X_link | X_object | X_isindex)*
332 (X_title
333 (X_script | X_style | X_meta | X_link | X_object | X_isindex)*))))
334 ];;
335 type X_html =
336 <html dir=?("ltr" | "rtl"); xml:lang=?String; lang=?String>[
337 (X_head X_body) ];;
338
339 type Heading = X_h1 | X_h2 | X_h3 | X_h4 | X_h5 | X_h6;;
340 type Blocktext = X_pre | X_hr | X_blockquote | X_address | X_center | X_noframes;;
341 type Lists = X_ul | X_ol | X_dl | X_menu | X_dir;;
342 type Block = X_p | Heading | X_div | Lists | Blocktext | X_isindex | X_fieldset | X_table;;
343 type Misc = X_ins | X_del | X_script | X_noscript;;
344 type Inline = X_a | Special | Fontstyle | Phrase | Inline_forms;;
345 type Special = X_br | X_span | X_bdo | X_object | X_applet | X_img | X_map |X_iframe;;
346 type Fontstyle = X_tt | X_i | X_b | X_big | X_small | X_u | X_s |
347 X_strike | X_font | X_basefont;;
348 type Phrase = X_em | X_strong | X_dfn | X_code | X_q | X_sub | X_sup |
349 X_samp | X_kbd | X_var | X_cite | X_abbr | X_acronym;;
350 type Inline_forms = X_input | X_select | X_textarea | X_label | X_button;;
351
352 type Flow = Char | Block | X_form | Inline | Misc;;
353
354 type Flows = [ (Char | Block | X_form | Inline | Misc)* ];;
355
356 let fun do_body (X_body -> String)
357 <body>l -> do_flows l;;
358
359 let fun do_head (X_head -> String)
360 <head>[_* <title>t ; _] ->
361 [ '\\title{' !t '}\n\\author{}\n\\date{Auto-generated by html2latex}\n' ];;
362
363
364 let fun do_flows (Flows -> String)
365 s -> transform s with
366 | c & Char -> [ c ]
367 | x & Block -> do_block x
368 | x & Inline -> do_inline x;;
369
370 let fun do_inlines ([ (Char | Inline | Misc)* ] -> String)
371 s -> transform s with
372 | c & Char -> [ c ]
373 | x & Inline -> do_inline x;;
374
375 let fun do_inline (Inline -> String)
376 | <a>l ->
377 (transform l with
378 | c & Char -> [c]
379 | x & (Special | Fontstyle | Phrase | Inline_forms) -> do_inline x)
380 | fs & Fontstyle -> do_fontstyle fs
381 | p & Phrase -> do_phrase p
382 | <img alt=s>_ -> s
383 | _ -> "";;
384
385 let fun do_fontstyle(Fontstyle -> String)
386 | <tt>i -> [ '{\\tt ' !(do_inlines i) '}' ]
387 | <i>i -> [ '{\\it ' !(do_inlines i) '}' ]
388 | <b>i -> [ '{\\bf ' !(do_inlines i) '}' ]
389 | <big>i -> [ '{\\big ' !(do_inlines i) '}' ]
390 | <small>i -> [ '{\\small ' !(do_inlines i) '}' ]
391 | <_>l -> do_inlines l;;
392
393 let fun do_phrase(Phrase -> String)
394 | <(`em|`strong|`dfn|`samp|`cite|`abbr|`acronym)>i ->
395 [ '{\\em ' !(do_inlines i) '}' ]
396 | <(`code|`kbd)>i -> [ '{\\tt ' !(do_inlines i) '}' ]
397 | <q>i -> [ '{\\it ' !(do_inlines i) '}' ]
398 | <sub>i -> [ '\\(_{\\mbox{' !(do_inlines i) '}}\\)' ]
399 | <sup>i -> [ '\\(^{\\mbox{' !(do_inlines i) '}}\\)' ]
400 | <var>i -> [ '\\(' !(do_inlines i) '\\)' ];;
401
402 let fun do_heading (Heading \ X_h1 -> String)
403 | <h1>i -> [ '\\section{ ' !(do_inlines i) '}\n' ]
404 | <h2>i -> [ '\\subsection{ ' !(do_inlines i) '}\n' ]
405 | <h3>i -> [ '\\subsubsection{ ' !(do_inlines i) '}\n' ]
406 | <h4>i -> [ '\\subsubsubsection{ ' !(do_inlines i) '}\n' ]
407 | <h5>i -> [ '\\subsubsubsubsection{ ' !(do_inlines i) '}\n' ]
408 | <h6>i -> [ '\\subsubsubsubsubsection{ ' !(do_inlines i) '}\n' ];;
409
410 let fun do_lis ([ X_li+ ] -> String)
411 l -> transform l with <li>f -> [ '\\item ' !(do_flows f) '\n' ];;
412
413 let fun do_ul_content (arg : [ X_li+ ]) : String =
414 [ '\\begin{itemize}\n' !(do_lis arg) '\\end{itemize}\n' ];;
415
416 let fun do_ol_content (arg : [ X_li+ ]) : String =
417 [ '\\begin{enumerate}\n' !(do_lis arg) '\\end{enumerate}\n' ];;
418
419 let fun do_dl_content (arg : [ (X_dt|X_dd)+ ]) : String =
420 [ '\\begin{description}\n' !(do_ds arg) '\\end{description}\n' ];;
421
422 let fun do_ds ([ (X_dt | X_dd)* ] -> String)
423 | [] -> ""
424 | [ dts::X_dt* <dd>f; rest ] ->
425 [ '\\item[' !(cat_dts dts) '] ' !(do_flows f) '\n' !(do_ds rest) ]
426 | [ dts::X_dt* ] ->
427 [ '\\item[' !(cat_dts dts) ']\n' ];;
428
429 let fun cat_dts ([ X_dt* ] -> String)
430 | [] -> ""
431 | [<dt>i] -> do_inlines i
432 | [<dt>i; rest] -> [ !(do_inlines i) ', ' !(cat_dts rest) ];;
433
434
435 let fun do_blocktext (Blocktext -> String)
436 | <center>f -> [ '\\begin{center}\n' !(do_flows f) '\\end{center}\n']
437 | <(`blockquote|`pre)>f -> do_flows f
438 | _ -> "";;
439
440 let fun do_block (Block -> String)
441 | <p>l -> do_inlines l
442 | <h1>_ -> ""
443 | h & Heading -> do_heading h
444 | <ul>l -> do_ul_content l
445 | <ol>l -> do_ol_content l
446 | <dl>l -> do_dl_content l
447 | t & X_table -> do_table t
448 | bt & Blocktext -> do_blocktext bt
449 | _ -> "";;
450
451 let fun do_html (X_html -> String)
452 <html>[ (h & X_head) (b & X_body) ] ->
453 [ '\\documentclass{article}\n' !(do_head h)
454 '\\begin{document}\n\\maketitle\n' !(do_body b)
455 '\\end{document}\n' ];;
456
457
458 let fun do_table (X_table -> String) _ -> raise "<table> nothandled";;
459 (*
460 <table>[ X_caption? (X_col*|X_colgroup* ) T_head? T_foot?
461 t::(X_body+ | X_tr+) ] ->
462 let t = match t with [X_body+] -> t | _ -> <tbody>t in
463 do_tbodies
464 *)
465
466
467 match load_xml "tst_html2latex.xml" with
468 | x & X_html -> print (do_html x)
469 | _ -> raise "Input file is not XHTML !";;
470

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5