functor (X : XML_sigs.T->
  sig
    module Info : XML_sigs.Info
    type uri = X.uri
    val string_of_uri : uri -> string
    val uri_of_string : string -> uri
    type +'a attrib
    val to_xmlattribs : 'a attrib list -> X.attrib list
    val to_attrib : X.attrib -> 'a attrib
    val a_class : XHTML_types.nmtokens -> [> `Class ] attrib
    val a_id : XHTML_types.id -> [> `Id ] attrib
    val a_title : XHTML_types.cdata -> [> `Title ] attrib
    val a_xml_lang : XHTML_types.nmtoken -> [> `XML_lang ] attrib
    val a_onblur : X.event -> [> `OnBlur ] attrib
    val a_onclick : X.event -> [> `OnClick ] attrib
    val a_ondblclick : X.event -> [> `OnDblClick ] attrib
    val a_onchange : X.event -> [> `OnChange ] attrib
    val a_onfocus : X.event -> [> `OnFocus ] attrib
    val a_onload : X.event -> [> `OnLoad ] attrib
    val a_onunload : X.event -> [> `OnUnload ] attrib
    val a_onreset : X.event -> [> `OnReset ] attrib
    val a_onselect : X.event -> [> `OnSelect ] attrib
    val a_onsubmit : X.event -> [> `OnSubmit ] attrib
    val a_onmousedown : X.event -> [> `OnMouseDown ] attrib
    val a_onmouseup : X.event -> [> `OnMouseUp ] attrib
    val a_onmouseover : X.event -> [> `OnMouseOver ] attrib
    val a_onmousemove : X.event -> [> `OnMouseMove ] attrib
    val a_onmouseout : X.event -> [> `OnMouseOut ] attrib
    val a_onkeypress : X.event -> [> `OnKeyPress ] attrib
    val a_onkeydown : X.event -> [> `OnKeyDown ] attrib
    val a_onkeyup : X.event -> [> `OnKeyUp ] attrib
    val a_profile : X.uri -> [> `Profile ] attrib
    val a_version : XHTML_types.cdata -> [> `Version ] attrib
    val a_xmlns : [< `W3_org_1999_xhtml ] -> [> `XMLns ] attrib
    val a_cite : X.uri -> [> `Cite ] attrib
    val a_xml_space : [< `Preserve ] -> [> `XML_space ] attrib
    val a_accesskey : XHTML_types.character -> [> `Accesskey ] attrib
    val a_charset : XHTML_types.charset -> [> `Charset ] attrib
    val a_accept_charset : XHTML_types.charset -> [> `Accept_charset ] attrib
    val a_accept : XHTML_types.contenttype -> [> `Accept ] attrib
    val a_href : X.uri -> [> `Href ] attrib
    val a_hreflang : XHTML_types.languagecode -> [> `Hreflang ] attrib
    val a_rel : XHTML_types.linktypes -> [> `Rel ] attrib
    val a_rev : XHTML_types.linktypes -> [> `Rev ] attrib
    val a_tabindex : XHTML_types.number -> [> `Tabindex ] attrib
    val a_type : XHTML_types.contenttype -> [> `Type ] attrib
    val a_datetime : XHTML_types.cdata -> [> `Datetime ] attrib
    val a_dir : [< `Ltr | `Rtl ] -> [> `Dir ] attrib
    val a_action : X.uri -> [> `Action ] attrib
    val a_checked : [< `Checked ] -> [> `Checked ] attrib
    val a_cols : XHTML_types.number -> [> `Cols ] attrib
    val a_enctype : XHTML_types.contenttype -> [> `Enctype ] attrib
    val a_for : XHTML_types.idref -> [> `For ] attrib
    val a_maxlength : XHTML_types.number -> [> `Maxlength ] attrib
    val a_method : [< `Get | `Post ] -> [> `Method ] attrib
    val a_multiple : [< `Multiple ] -> [> `Multiple ] attrib
    val a_name : XHTML_types.cdata -> [> `Name ] attrib
    val a_rows : XHTML_types.number -> [> `Rows ] attrib
    val a_selected : [< `Selected ] -> [> `Selected ] attrib
    val a_size : XHTML_types.number -> [> `Size ] attrib
    val a_src : X.uri -> [> `Src ] attrib
    val a_input_type :
      [< `Button
       | `Checkbox
       | `File
       | `Hidden
       | `Image
       | `Password
       | `Radio
       | `Reset
       | `Submit
       | `Text ] ->
      [> `Input_Type ] attrib
    val a_value : XHTML_types.cdata -> [> `Value ] attrib
    val a_value_type : [< `Data | `Object | `Ref ] -> [> `Value_Type ] attrib
    val a_disabled : [< `Disabled ] -> [> `Disabled ] attrib
    val a_readonly : [< `Readonly ] -> [> `Readonly ] attrib
    val a_button_type :
      [< `Button | `Reset | `Submit ] -> [> `Button_Type ] attrib
    val a_label : XHTML_types.text -> [> `Label ] attrib
    val a_abbr : XHTML_types.text -> [> `Abbr ] attrib
    val a_align :
      [< `Center | `Char | `Justify | `Left | `Right ] -> [> `Align ] attrib
    val a_axis : XHTML_types.cdata -> [> `Axis ] attrib
    val a_colspan : XHTML_types.number -> [> `Colspan ] attrib
    val a_headers : XHTML_types.idrefs -> [> `Headers ] attrib
    val a_rowspan : XHTML_types.number -> [> `Rowspan ] attrib
    val a_scope :
      [< `Col | `Colgroup | `Row | `Rowgroup ] -> [> `Scope ] attrib
    val a_summary : XHTML_types.text -> [> `Summary ] attrib
    val a_valign :
      [< `Baseline | `Bottom | `Middle | `Top ] -> [> `Valign ] attrib
    val a_border : XHTML_types.pixels -> [> `Border ] attrib
    val a_cellpadding : XHTML_types.length -> [> `Cellpadding ] attrib
    val a_cellspacing : XHTML_types.length -> [> `Cellspacing ] attrib
    val a_datapagesize : XHTML_types.cdata -> [> `Datapagesize ] attrib
    val a_frame :
      [< `Above
       | `Below
       | `Border
       | `Box
       | `Hsides
       | `LHS
       | `RHS
       | `Void
       | `Vsides ] ->
      [> `Frame ] attrib
    val a_rules :
      [< `All | `Cols | `Groups | `None | `Rows ] -> [> `Rules ] attrib
    val a_char : XHTML_types.character -> [> `Char ] attrib
    val a_charoff : XHTML_types.length -> [> `Charoff ] attrib
    val a_span : XHTML_types.number -> [> `Span ] attrib
    val a_alt : XHTML_types.text -> [> `Alt ] attrib
    val a_height : XHTML_types.length -> [> `Height ] attrib
    val a_longdesc : X.uri -> [> `Longdesc ] attrib
    val a_width : XHTML_types.length -> [> `Width ] attrib
    type shape = [ `Circle | `Default | `Poly | `Rect ]
    val a_shape : shape -> [> `Shape ] attrib
    val a_coords : int list -> [> `Coords ] attrib
    val a_nohref : [< `Nohref ] -> [> `Nohref ] attrib
    val a_usemap : XHTML_types.idref -> [> `Usemap ] attrib
    val a_ismap : [< `Ismap ] -> [> `Ismap ] attrib
    val a_declare : [< `Declare ] -> [> `Declare ] attrib
    val a_classid : X.uri -> [> `Classid ] attrib
    val a_codebase : X.uri -> [> `Codebase ] attrib
    val a_data : X.uri -> [> `Data ] attrib
    val a_codetype : XHTML_types.contenttype -> [> `Codetype ] attrib
    val a_archive : X.uri list -> [> `Archive ] attrib
    val a_standby : XHTML_types.text -> [> `Standby ] attrib
    val a_fs_rows : XHTML_types.multilengths -> [> `FS_Rows ] attrib
    val a_fs_cols : XHTML_types.multilengths -> [> `FS_Cols ] attrib
    val a_frameborder : [< `One | `Zero ] -> [> `Frameborder ] attrib
    val a_marginheight : XHTML_types.pixels -> [> `Marginheight ] attrib
    val a_marginwidth : XHTML_types.pixels -> [> `Marginwidth ] attrib
    val a_noresize : [< `Noresize ] -> [> `Noresize ] attrib
    val a_scrolling : [< `Auto | `No | `Yes ] -> [> `Scrolling ] attrib
    val a_target : XHTML_types.frametarget -> [> `Target ] attrib
    val a_content : XHTML_types.cdata -> [> `Content ] attrib
    val a_http_equiv : XHTML_types.nmtoken -> [> `Http_equiv ] attrib
    val a_scheme : XHTML_types.cdata -> [> `Scheme ] attrib
    val a_defer : [< `Defer ] -> [> `Defer ] attrib
    val a_media : XHTML_types.mediadesc -> [> `Media ] attrib
    val a_style : string -> [> `Style_Attr ] attrib
    type +'a elt
    type ('a, 'b) nullary = ?a:'a attrib list -> unit -> 'b elt
    type ('a, 'b, 'c) unary = ?a:'a attrib list -> 'b elt -> 'c elt
    type ('a, 'b, 'c, 'd) binary =
        ?a:'a attrib list -> 'b elt -> 'c elt -> 'd elt
    type ('a, 'b, 'c, 'd, 'e, 'f) quadry =
        ?a:'a attrib list -> 'b elt -> 'c elt -> 'd elt -> 'e elt -> 'f elt
    type ('a, 'b, 'c) star = ?a:'a attrib list -> 'b elt list -> 'c elt
    type ('a, 'b, 'c) plus =
        ?a:'a attrib list -> 'b elt -> 'b elt list -> 'c elt
    type html = [ `Html ] elt
    val html :
      ?a:[< `Dir | `Id | `Version | `XML_lang | `XMLns ] attrib list ->
      [< `Head ] elt -> [< `Body | `Frameset ] elt -> html
    val head :
      ?a:[< `Dir | `Id | `Profile | `XML_lang ] attrib list ->
      [< `Base | `Title ] elt ->
      [< `Link | `Meta | `Object | `Script | `Style ] elt list ->
      [> `Head ] elt
    val title :
      ([< XHTML_types.title_attrib ], [< XHTML_types.title_content ],
       [> XHTML_types.title ])
      unary
    val body :
      ([< XHTML_types.body_attrib ], [< XHTML_types.body_content ],
       [> XHTML_types.body ])
      star
    val pcdata : string -> [> `PCDATA ] elt
    val entity : string -> [> `PCDATA ] elt
    val space : unit -> [> `PCDATA ] elt
    val cdata : string -> [> `PCDATA ] elt
    val cdata_script : string -> [> `PCDATA ] elt
    val cdata_style : string -> [> `PCDATA ] elt
    val unsafe_data : string -> 'a elt
    val h1 :
      ([< XHTML_types.h1_attrib ], [< XHTML_types.h1_content ],
       [> XHTML_types.h1 ])
      star
    val h2 :
      ([< XHTML_types.h2_attrib ], [< XHTML_types.h2_content ],
       [> XHTML_types.h2 ])
      star
    val h3 :
      ([< XHTML_types.h3_attrib ], [< XHTML_types.h3_content ],
       [> XHTML_types.h3 ])
      star
    val h4 :
      ([< XHTML_types.h4_attrib ], [< XHTML_types.h4_content ],
       [> XHTML_types.h4 ])
      star
    val h5 :
      ([< XHTML_types.h5_attrib ], [< XHTML_types.h5_content ],
       [> XHTML_types.h5 ])
      star
    val h6 :
      ([< XHTML_types.h6_attrib ], [< XHTML_types.h6_content ],
       [> XHTML_types.h6 ])
      star
    val address :
      ([< XHTML_types.address_attrib ], [< XHTML_types.address_content ],
       [> XHTML_types.address ])
      star
    val blockquote :
      ([< `Cite
        | `Class
        | `Dir
        | `Id
        | `OnClick
        | `OnDblClick
        | `OnKeyDown
        | `OnKeyPress
        | `OnKeyUp
        | `OnMouseDown
        | `OnMouseMove
        | `OnMouseOut
        | `OnMouseOver
        | `OnMouseUp
        | `Style_Attr
        | `Title
        | `XML_lang
        | `XML_space ],
       [< `Address
        | `Blockquote
        | `Del
        | `Div
        | `Dl
        | `Fieldset
        | `Form
        | `H1
        | `H2
        | `H3
        | `H4
        | `H5
        | `H6
        | `Hr
        | `Ins
        | `Noscript
        | `Ol
        | `P
        | `PCDATA
        | `Pre
        | `Script
        | `Table
        | `Ul ],
       [> `Blockquote ])
      star
    val div :
      ([< XHTML_types.div_attrib ], [< XHTML_types.div_content ],
       [> XHTML_types.div ])
      star
    val p :
      ([< XHTML_types.p_attrib ], [< XHTML_types.p_content ],
       [> XHTML_types.p ])
      star
    val pre :
      ([< `Class
        | `Dir
        | `Id
        | `OnClick
        | `OnDblClick
        | `OnKeyDown
        | `OnKeyPress
        | `OnKeyUp
        | `OnMouseDown
        | `OnMouseMove
        | `OnMouseOut
        | `OnMouseOver
        | `OnMouseUp
        | `Style_Attr
        | `Title
        | `XML_lang
        | `XML_space ],
       [< `A
        | `Abbr
        | `Acronym
        | `B
        | `Bdo
        | `Big
        | `Br
        | `Button
        | `Cite
        | `Code
        | `Del
        | `Dfn
        | `Em
        | `I
        | `Iframe
        | `Img
        | `Input
        | `Ins
        | `Kbd
        | `Label
        | `Map
        | `Noscript
        | `Object
        | `PCDATA
        | `Q
        | `Ruby_complex
        | `Ruby_simple1
        | `Ruby_simple2
        | `Samp
        | `Script
        | `Select
        | `Small
        | `Span
        | `Strong
        | `Sub
        | `Sup
        | `Textarea
        | `Tt
        | `Var ],
       [> `Pre ])
      star
    val abbr :
      ([< XHTML_types.abbr_attrib ], [< XHTML_types.abbr_content ],
       [> XHTML_types.abbr ])
      star
    val acronym :
      ([< XHTML_types.acronym_attrib ], [< XHTML_types.acronym_content ],
       [> XHTML_types.acronym ])
      star
    val br : ([< XHTML_types.br_attrib ], [> XHTML_types.br ]) nullary
    val cite :
      ([< XHTML_types.cite_attrib ], [< XHTML_types.cite_content ],
       [> XHTML_types.cite ])
      star
    val code :
      ([< XHTML_types.code_attrib ], [< XHTML_types.code_content ],
       [> XHTML_types.code ])
      star
    val dfn :
      ([< XHTML_types.dfn_attrib ], [< XHTML_types.dfn_content ],
       [> XHTML_types.dfn ])
      star
    val em :
      ([< XHTML_types.em_attrib ], [< XHTML_types.em_content ],
       [> XHTML_types.em ])
      star
    val kbd :
      ([< XHTML_types.kbd_attrib ], [< XHTML_types.kbd_content ],
       [> XHTML_types.kbd ])
      star
    val q :
      ([< XHTML_types.q_attrib ], [< XHTML_types.q_content ],
       [> XHTML_types.q ])
      star
    val samp :
      ([< XHTML_types.samp_attrib ], [< XHTML_types.samp_content ],
       [> XHTML_types.samp ])
      star
    val span :
      ([< XHTML_types.span_attrib ], [< XHTML_types.span_content ],
       [> XHTML_types.span ])
      star
    val strong :
      ([< XHTML_types.strong_attrib ], [< XHTML_types.strong_content ],
       [> XHTML_types.strong ])
      star
    val var :
      ([< XHTML_types.var_attrib ], [< XHTML_types.var_content ],
       [> XHTML_types.var ])
      star
    val a :
      ([< XHTML_types.a_attrib ], [< XHTML_types.a_content ],
       [> XHTML_types.a ])
      star
    val dl :
      ([< XHTML_types.dl_attrib ], [< XHTML_types.dl_content ],
       [> XHTML_types.dl ])
      plus
    val ol :
      ([< XHTML_types.ol_attrib ], [< XHTML_types.ol_content ],
       [> XHTML_types.ol ])
      plus
    val ul :
      ([< XHTML_types.ul_attrib ], [< XHTML_types.ul_content ],
       [> XHTML_types.ul ])
      plus
    val dd :
      ([< XHTML_types.dd_attrib ], [< XHTML_types.dd_content ],
       [> XHTML_types.dd ])
      star
    val dt :
      ([< XHTML_types.dt_attrib ], [< XHTML_types.dt_content ],
       [> XHTML_types.dt ])
      star
    val li :
      ([< XHTML_types.li_attrib ], [< XHTML_types.li_content ],
       [> XHTML_types.li ])
      star
    val hr : ([< XHTML_types.hr_attrib ], [> XHTML_types.hr ]) nullary
    val b :
      ([< XHTML_types.b_attrib ], [< XHTML_types.b_content ],
       [> XHTML_types.b ])
      star
    val big :
      ([< XHTML_types.big_attrib ], [< XHTML_types.big_content ],
       [> XHTML_types.big ])
      star
    val i :
      ([< XHTML_types.i_attrib ], [< XHTML_types.i_content ],
       [> XHTML_types.i ])
      star
    val small :
      ([< XHTML_types.small_attrib ], [< XHTML_types.small_content ],
       [> XHTML_types.small ])
      star
    val sub :
      ([< XHTML_types.sub_attrib ], [< XHTML_types.sub_content ],
       [> XHTML_types.sub ])
      star
    val sup :
      ([< XHTML_types.sup_attrib ], [< XHTML_types.sup_content ],
       [> XHTML_types.sup ])
      star
    val tt :
      ([< XHTML_types.tt_attrib ], [< XHTML_types.tt_content ],
       [> XHTML_types.tt ])
      star
    val bdo :
      dir:[< `Ltr | `Rtl ] ->
      ([< XHTML_types.bdo_attrib ], [< XHTML_types.bdo_content ],
       [> XHTML_types.bdo ])
      star
    val area :
      alt:XHTML_types.text ->
      ([< XHTML_types.area_attrib ], [> XHTML_types.area ]) nullary
    val map :
      id:XHTML_types.id ->
      ([< XHTML_types.map_attrib ], [< XHTML_types.map_content ],
       [> XHTML_types.map ])
      plus
    val del :
      ([< XHTML_types.del_attrib ], [< XHTML_types.del_content ],
       [> XHTML_types.del ])
      star
    val ins :
      ([< XHTML_types.ins_attrib ], [< XHTML_types.ins_content ],
       [> XHTML_types.ins ])
      star
    val script :
      contenttype:XHTML_types.contenttype ->
      ([< XHTML_types.script_attrib ], [< XHTML_types.script_content ],
       [> XHTML_types.script ])
      unary
    val noscript :
      ([< XHTML_types.noscript_attrib ], [< XHTML_types.noscript_content ],
       [> XHTML_types.noscript ])
      plus
    module Basic_Forms :
      sig
        val form :
          action:X.uri ->
          ([< XHTML_types.form_attrib ], [< XHTML_types.form_content ],
           [> XHTML_types.form ])
          plus
        val input :
          ([< XHTML_types.input_attrib ], [> XHTML_types.input ]) nullary
        val label :
          ([< XHTML_types.label_attrib ], [< XHTML_types.label_content ],
           [> XHTML_types.label ])
          star
        val option :
          ([< XHTML_types.option_attrib ], [< XHTML_types.option_content ],
           [> XHTML_types.selectoption ])
          unary
        val select :
          ([< XHTML_types.select_attrib ], [< XHTML_types.select_content ],
           [> XHTML_types.select ])
          plus
        val textarea :
          rows:XHTML_types.number ->
          cols:XHTML_types.number ->
          ([< XHTML_types.textarea_attrib ],
           [< XHTML_types.textarea_content ], [> XHTML_types.textarea ])
          unary
      end
    val form :
      action:X.uri ->
      ([< XHTML_types.form_attrib ], [< XHTML_types.form_content ],
       [> XHTML_types.form ])
      plus
    val input :
      ([< XHTML_types.input_attrib ], [> XHTML_types.input ]) nullary
    val label :
      ([< XHTML_types.label_attrib ], [< XHTML_types.label_content ],
       [> XHTML_types.label ])
      star
    val optgroup :
      label:XHTML_types.text ->
      ([< XHTML_types.optgroup_attrib ], [< XHTML_types.optgroup_content ],
       [> XHTML_types.optgroup ])
      plus
    val option :
      ([< XHTML_types.option_attrib ], [< XHTML_types.option_content ],
       [> XHTML_types.selectoption ])
      unary
    val select :
      ([< XHTML_types.select_attrib ], [< XHTML_types.select_content ],
       [> XHTML_types.select ])
      plus
    val textarea :
      rows:XHTML_types.number ->
      cols:XHTML_types.number ->
      ([< XHTML_types.textarea_attrib ], [< XHTML_types.textarea_content ],
       [> XHTML_types.textarea ])
      unary
    val fieldset :
      ([< XHTML_types.fieldset_attrib ], [< XHTML_types.fieldset_content ],
       [> XHTML_types.fieldset ])
      star
    val legend :
      ([< XHTML_types.legend_attrib ], [< XHTML_types.legend_content ],
       [> XHTML_types.legend ])
      star
    val button :
      ([< XHTML_types.button_attrib ], [< XHTML_types.button_content ],
       [> XHTML_types.button ])
      star
    module Basic_Tables :
      sig
        val a_align : [< `Center | `Left | `Right ] -> [> `Align ] attrib
        val a_scope : [< `Col | `Row ] -> [> `Scope ] attrib
        val a_valign : [< `Bottom | `Middle | `Top ] -> [> `Valign ] attrib
        val caption :
          ([< XHTML_types.caption_attrib ], [< XHTML_types.caption_content ],
           [> XHTML_types.caption ])
          star
        val table :
          ?caption:[< `Caption ] elt ->
          ([< XHTML_types.table_attrib ], [< XHTML_types.table_content ],
           [> XHTML_types.table ])
          plus
        val td :
          ([< XHTML_types.td_attrib ], [< XHTML_types.td_content ],
           [> XHTML_types.td ])
          star
        val th :
          ([< XHTML_types.th_attrib ], [< XHTML_types.th_content ],
           [> XHTML_types.th ])
          star
        val tr :
          ([< XHTML_types.tr_attrib ], [< XHTML_types.tr_content ],
           [> XHTML_types.tr ])
          plus
      end
    val caption :
      ([< XHTML_types.caption_attrib ], [< XHTML_types.caption_content ],
       [> XHTML_types.caption ])
      star
    val table :
      ?caption:[< `Caption ] elt ->
      ?columns:[< `Colgroups of [< `Colgroup ] elt list
                | `Cols of [< `Col ] elt list ] ->
      ([< `Border
        | `Cellpadding
        | `Cellspacing
        | `Class
        | `Datapagesize
        | `Dir
        | `Frame
        | `Id
        | `OnClick
        | `OnDblClick
        | `OnKeyDown
        | `OnKeyPress
        | `OnKeyUp
        | `OnMouseDown
        | `OnMouseMove
        | `OnMouseOut
        | `OnMouseOver
        | `OnMouseUp
        | `Rules
        | `Style_Attr
        | `Summary
        | `Title
        | `Width
        | `XML_lang
        | `XML_space ],
       [< `Tr ], [> `Table ])
      plus
    val tablex :
      ?caption:[< `Caption ] elt ->
      ?columns:[< `Colgroups of [< `Colgroup ] elt list
                | `Cols of [< `Col ] elt list ] ->
      ?thead:[< `Thead ] elt ->
      ?tfoot:[< `Tfoot ] elt ->
      ([< `Border
        | `Cellpadding
        | `Cellspacing
        | `Class
        | `Datapagesize
        | `Dir
        | `Frame
        | `Id
        | `OnClick
        | `OnDblClick
        | `OnKeyDown
        | `OnKeyPress
        | `OnKeyUp
        | `OnMouseDown
        | `OnMouseMove
        | `OnMouseOut
        | `OnMouseOver
        | `OnMouseUp
        | `Rules
        | `Style_Attr
        | `Summary
        | `Title
        | `Width
        | `XML_lang
        | `XML_space ],
       [< `Tbody ], [> `Table ])
      plus
    val td :
      ([< XHTML_types.td_attrib ], [< XHTML_types.td_content ],
       [> XHTML_types.td ])
      star
    val th :
      ([< XHTML_types.th_attrib ], [< XHTML_types.th_content ],
       [> XHTML_types.th ])
      star
    val tr :
      ([< XHTML_types.tr_attrib ], [< XHTML_types.tr_content ],
       [> XHTML_types.tr ])
      plus
    val col : ([< XHTML_types.col_attrib ], [> XHTML_types.col ]) nullary
    val colgroup :
      ([< XHTML_types.colgroup_attrib ], [< XHTML_types.colgroup_content ],
       [> XHTML_types.colgroup ])
      star
    val thead :
      ([< XHTML_types.thead_attrib ], [< XHTML_types.thead_content ],
       [> XHTML_types.thead ])
      plus
    val tbody :
      ([< XHTML_types.tbody_attrib ], [< XHTML_types.tbody_content ],
       [> XHTML_types.tbody ])
      plus
    val tfoot :
      ([< XHTML_types.tfoot_attrib ], [< XHTML_types.tfoot_content ],
       [> XHTML_types.tfoot ])
      plus
    val img :
      src:X.uri ->
      alt:XHTML_types.text ->
      ([< XHTML_types.img_attrib ], [> XHTML_types.img ]) nullary
    val object_ :
      ([< XHTML_types.object__attrib ], [< XHTML_types.object__content ],
       [> XHTML_types.object_ ])
      star
    val param :
      name:XHTML_types.text ->
      ([< XHTML_types.param_attrib ], [> XHTML_types.param ]) nullary
    val frameset :
      ?noframes:[< `Noframes ] elt ->
      ([< XHTML_types.frameset_attrib ], [< XHTML_types.frameset_content ],
       [> XHTML_types.frameset ])
      plus
    val frame :
      src:X.uri ->
      ([< XHTML_types.frame_attrib ], [> XHTML_types.frame ]) nullary
    val noframes :
      ([< XHTML_types.noframes_attrib ], [< XHTML_types.noframes_content ],
       [> XHTML_types.noframes ])
      unary
    val iframe :
      ([< XHTML_types.iframe_attrib ], [< XHTML_types.iframe_content ],
       [> XHTML_types.iframe ])
      star
    val meta :
      content:XHTML_types.cdata ->
      ([< XHTML_types.meta_attrib ], [> XHTML_types.meta ]) nullary
    val style :
      contenttype:XHTML_types.contenttype ->
      ([< XHTML_types.style_attrib ], [< XHTML_types.style_content ],
       [> XHTML_types.style ])
      star
    val link : ([< XHTML_types.link_attrib ], [> XHTML_types.link ]) nullary
    val base :
      href:X.uri ->
      ([< XHTML_types.base_attrib ], [> XHTML_types.base ]) nullary
    val ruby_simple1 :
      ?a:[< XHTML_types.common ] attrib list ->
      [< `Rb ] elt -> [< `Rt ] elt -> [> `Ruby_simple1 ] elt
    val ruby_simple2 :
      ?a:[< XHTML_types.common ] attrib list ->
      [< `Rb ] elt ->
      [< `Rp ] elt -> [< `Rt ] elt -> [< `Rp ] elt -> [> `Ruby_simple2 ] elt
    val ruby_complex :
      ?a:[< XHTML_types.common ] attrib list ->
      [< `Rbc ] elt -> [< `Rtc_complex ] elt -> [> `Ruby_complex ] elt
    val rbc :
      ([< XHTML_types.rbc_attrib ], [< XHTML_types.rbc_content ],
       [> XHTML_types.rbc ])
      plus
    val rtc :
      ([< XHTML_types.rtc_attrib ], [< XHTML_types.rtc_content ],
       [> XHTML_types.rtc ])
      plus
    val rtc_complex :
      ([< XHTML_types.rtc_complex_attrib ],
       [< XHTML_types.rtc_complex_content ], [> XHTML_types.rtc_complex ])
      plus
    val rb :
      ([< XHTML_types.rb_attrib ], [< XHTML_types.rb_content ],
       [> XHTML_types.rb ])
      star
    val rt :
      ([< XHTML_types.rt_attrib ], [< XHTML_types.rt_content ],
       [> XHTML_types.rt ])
      star
    val rt_complex :
      ([< XHTML_types.rt_complex_attrib ],
       [< XHTML_types.rt_complex_content ], [> XHTML_types.rt_complex ])
      star
    val rp :
      ([< XHTML_types.rp_attrib ], [< XHTML_types.rp_content ],
       [> XHTML_types.rp ])
      star
    val a_rbspan : XHTML_types.number -> [> `Rbspan ] attrib
    val tot : X.elt -> 'a elt
    val totl : X.elt list -> 'a elt list
    val toelt : 'a elt -> X.elt
    val toeltl : 'a elt list -> X.elt list
    type doc = [ `Html ] elt
    val doc_toelt : doc -> X.elt
    val a_name_01_00 : XHTML_types.cdata -> [> `Name_01_00 ] attrib
  end