<story><title>Dug.js – A JSONP to HTML Script</title><url>http://rog.ie/blog/dugjs-a-jsonp-to-html-script</url></story><parent_chain><item><author>hbi99</author><text>Templating solutions such as Mustache and Handlebars falls short when the need to add intelligence to the template. In such cases, the template needs to extended with helper functions, which leads to scattered templating.&lt;p&gt;Another way to implement smart templates is to use XSLT, which is both standardized as well as longtime proven. XSLT is used commonly used with XML but with DefiantJS, it&amp;#x27;s trivial to transform JSON structures with XSL (additionally, it&amp;#x27;s possible to search JSON structures with XPath queries using this lib; &lt;a href=&quot;http://defiantjs.com/#xpath_evaluator&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;defiantjs.com&amp;#x2F;#xpath_evaluator&lt;/a&gt;).</text></item></parent_chain><comment><author>davedx</author><text>I built a large site using XSLT for the templating, and it definitely wasn&amp;#x27;t my experience that XSLT was a good way to &amp;quot;add intelligence to a template&amp;quot;. I found it to be rigid, arcane and inflexible.&lt;p&gt;XSLT is great for transforming XML datasets to other XML datasets. It&amp;#x27;s just not designed for outputting web pages.</text></comment>
<story><title>Dug.js – A JSONP to HTML Script</title><url>http://rog.ie/blog/dugjs-a-jsonp-to-html-script</url></story><parent_chain><item><author>hbi99</author><text>Templating solutions such as Mustache and Handlebars falls short when the need to add intelligence to the template. In such cases, the template needs to extended with helper functions, which leads to scattered templating.&lt;p&gt;Another way to implement smart templates is to use XSLT, which is both standardized as well as longtime proven. XSLT is used commonly used with XML but with DefiantJS, it&amp;#x27;s trivial to transform JSON structures with XSL (additionally, it&amp;#x27;s possible to search JSON structures with XPath queries using this lib; &lt;a href=&quot;http://defiantjs.com/#xpath_evaluator&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;defiantjs.com&amp;#x2F;#xpath_evaluator&lt;/a&gt;).</text></item></parent_chain><comment><author>philbo</author><text>A typical reason to avoid intelligence in view templates is that it is more difficult to test that logic when it is stored inside the template. Separation of the two improves testability.&lt;p&gt;What are the testing options like for XSLT, are you able to run good automated tests against your templates?</text></comment>