123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106openJs_of_ocamlopenVirtual_domopenTyxml_fopenVdommoduletypeXML=Xml_sigs.Twithtypeuri=stringandtypeevent_handler=Dom_html.eventJs.t->unitEffect.tandtypemouse_event_handler=Dom_html.mouseEventJs.t->unitEffect.tandtypetouch_event_handler=Dom_html.touchEventJs.t->unitEffect.tandtypekeyboard_event_handler=Dom_html.keyboardEventJs.t->unitEffect.tandtypeelt=Vdom.Node.tmoduleXml=structmoduleW=Xml_wrap.NoWraptype'awrap='atype'alist_wrap='alisttypeuri=stringleturi_of_strings=sletstring_of_uris=stypeaname=stringtypeevent_handler=Dom_html.eventJs.t->unitEffect.ttypemouse_event_handler=Dom_html.mouseEventJs.t->unitEffect.ttypetouch_event_handler=Dom_html.touchEventJs.t->unitEffect.ttypekeyboard_event_handler=Dom_html.keyboardEventJs.t->unitEffect.ttypeattrib=Attr.tletattrnamevalue=matchnamewith|"value"|"checked"|"selected"->Attr.propertyname(Js.Unsafe.inject(Js.stringvalue))|name->Attr.createnamevalue;;letattr_evnamecvt_to_vdom_event=letfe=Effect.Expert.handlee(cvt_to_vdom_evente);Js._trueinAttr.propertyname(Js.Unsafe.inject(Dom.handlerf));;letfloat_attribnamevalue:attrib=attrname(string_of_floatvalue)letint_attribnamevalue=attrname(string_of_intvalue)letstring_attribnamevalue=attrnamevalueletspace_sep_attribnamevalues=attrname(String.concat" "values)letcomma_sep_attribnamevalues=attrname(String.concat","values)letevent_handler_attribname(value:event_handler)=attr_evnamevalueletmouse_event_handler_attribname(value:mouse_event_handler)=attr_evnamevaluelettouch_event_handler_attribname(value:touch_event_handler)=attr_evnamevalueletkeyboard_event_handler_attribname(value:keyboard_event_handler)=attr_evnamevalue;;leturi_attribnamevalue=attrnamevalueleturis_attribnamevalues=attrname(String.concat" "values)(** Element *)typeelt=Vdom.Node.ttypeename=stringletmake_ax=xletempty()=assertfalseletcomment_c=assertfalseletpcdatas=Vdom.Node.textsletencodedpcdatas=Vdom.Node.textsletentitye=letentity=Dom_html.decode_html_entities(Js.string("&"^e^";"))inVdom.Node.text(Js.to_stringentity);;letleaf?(a=[])name=Vdom.Node.createname~attr:(Vdom.Attr.many_without_merge(make_aa))[];;letnode?(a=[])namechildren=Vdom.Node.createname~attr:(Vdom.Attr.many_without_merge(make_aa))children;;letcdatas=pcdatasletcdata_scripts=cdatasletcdata_styles=cdatasendmoduleXml_Svg=structincludeXmlletleaf?(a=[])name=Vdom.Node.create_svgname~attr:(Vdom.Attr.many_without_merge(make_aa))[];;letnode?(a=[])namechildren=Vdom.Node.create_svgname~attr:(Vdom.Attr.many_without_merge(make_aa))children;;endmoduleSvg=Svg_f.Make(Xml_Svg)moduleHtml=Html_f.Make(Xml)(Svg)