XML / XHTML / HTML5 template engine