HSML syntax is very similar to that of XML, but there are less rules. The main advantage over plain XML or HTML is that it allows you to embed Haskell declarations and expression directly into your template. The main advantage over something like Blaze is that it saves you the overhead of using Blaze's combinators. It's also relatively easy to port your existing plain HTML templates into HSML (most of the times, cut & paste will suffice). For examples, see the examples directory.