I;&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~           %Quickly render a xhtml page to text. BThis function will render the entire page on a single line, which - is somewhat unreadable. On the plus side, it's relatively fast. 7Renders a pretty xhtml page with readable indentation. %What we do is turn the document from  into a  ,  parse that string with Text.XML.Light , then use Text.XML.Light's I pretty printing function to render it, before finally packing it again. 7 It probably goes without saying, but this function is  incredibly inefficient! Also, Text.XML.Light3 will render the document as proper XML, which is  fine only if you'*re not trying to pass of your page as text/html. 3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)True for XML declaration, false to omit. Required content attribute. 0 is a bit useless without any attributes, but it's * included anyway for consistency reasons. Required type attribute. Required type attribute. "Required language direction code. Required src attribute. Required alt attribute. Required id attribute. Required alt attribute. Required action attribute. Required label attribute. Required rows attribute. Required cols attribute.      JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"     }~{|xyzvwstuqrnopklmhijefgbcd_`a\]^YZ[VWX STUPQRMNOJKL    JKLKLMNONOPQRQRSTUTUVWXWXYZ[Z[\]^]^_`a`abcdcdefgfghijijklmlmnopopqrrstutuvwwxyzyz{||}~~      JMPSV\_behknqsvx{}     n  khqsvx{}_\ebVSPMJ     #        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrrstuvtwxyzx{|}~|I#G     # !"#xhtml-combinators-0.1Text.XHtmlCombinators.InternalText.XHtmlCombinators.Render Text.XHtmlCombinators.Attributes!Text.XHtmlCombinators.CombinatorsText.XHtmlCombinatorsXHtmlXHtmlMContent toContentNode WithAttrsTextNodeAttrAttrsfirsttextNode emptyNodenodetellS execXHtml tellTextNode tellEmptyNodetellNodeemptyrender renderPretty emptyAttrintAttrtextAttractionalignaltaltcodearchivebaseborder bordercolor cellpadding cellspacingcheckedcodebasecolscolspancontentcoordsdisabledenctypeheighthrefhreflang httpEquivid_ismaplang maxlengthmethodmultiplenamenohrefrelrevrowsrowspanrulesselectedshapesizesrcclass_forstyletype_titleusemapvalignvaluewidthTableColContentTableColtableColToNode Table3ContentTable3 table3ToNode Table2ContentTable2 table2ToNode Table1ContentTable1 table1ToNodeFieldSetContentFieldSetfieldSetToNode OptionContentOption optionToNode MapContentMap mapToNode ObjectContentObject objectToNodeDefinitionListContentDefinitionListdefinitionListToNode ListContentList listToNode HeadContentHead headToNodeTopLevelContentTopLeveltopLevelToNodePage pageToNodeFlowflow FlowContent flowToNodeBlockblock BlockContent blockToNodeInlineinline InlineContent inlineToNodeCDatacdatatext xhtml10stricthtml'htmlhead'head_title'base'meta'metalink'linkstyle'script'script noscript'noscriptbody'bodydiv'div_p'ph1'h1h2'h2h3'h3h4'h4h5'h5h6'h6ul'ulol'olli'lidl'dldt'dtdd'ddaddress'addresshr'hrpre'pre blockquote' blockquoteins'insdel'dela'aspan'span_bdo'bdobr'brem'emstrong'strongdfn'dfncode'codesamp'sampkbd'kbdvar'varcite'citeabbr'abbracronym'acronymq'qsub'subsup'suptt'tti'ib'bbig'bigsmall'smallobject'objectparam'paramimg'imgmap'map_area'areaform'formlabel'labelinput'inputselect'select optgroup'optgroupoption'option textarea'textarea fieldset'fieldsetlegend'legendbutton'buttontable'tablecaption'captionthead'theadtfoot'tfoottbody'tbody colgroup'colgroupcol'coltr'trth'thtd'td renderAttrs text-0.8.0.0Data.Text.Lazy.InternalTextGHC.BaseStringdoctypexmlDec