[ANN] dream-html 3.0.0

[ANN] dream-html 3.3.1

Add to_xml and pp_xml functions to render in XML style

Normally, dream-html defaults to rendering nodes in HTML style, meaning that void elements are rendered just like opening tags. Eg <br>. With the new to_xml and pp_xml functions, we can now render nodes in XML style, meaning <br />. This allows XML parsers to successfully parse the output. So eg you can use dream-html to author an ePub book.

Escape URI attributes like href with normal attribute escaping rules in addition to percent-encoding. Most significantly, ampersands are encoded now, eg /foo?a=1&b=2 is rendered as /foo?a=1&amp;b=2.

Change where line breaks are inserted into the output markup, so that there is no chance of injecting spurious whitespace into the rendered page. This gives complete control over whitespace to the user.