XML/XSLT XML and
XSLT (Extensible Stylesheet Language Transformations) can also produce client-side templating, and both allow caching of the template separate from the data. JBST uses
JavaScript natively in the template, rather than requiring mixing of different types of control language.
InnerHTML While seemingly used to perform similar tasks, JsonML and
innerHTML are quite different. InnerHTML requires all the markup in an exact form, meaning that either the
server is rendering the markup, or the programmer is performing expensive string concatenations in JavaScript. JsonML uses client-side templating through JBST, which means that HTML is converted into a JavaScript template at
build time. At
run time, the data is supplied and DOM elements are the result. The resulting DOM elements can be inserted or replace an existing element, which innerHTML cannot easily do without creating excess DOM elements. Rebinding only requires requesting additional data, which is smaller than fully expanded markup. As a result, large performance gains are often made, since the markup is requested or
cached separately from the data.
HTML message pattern/Browser-side templating For simplicity, innerHTML has been the preferred method for the HTML-Message pattern style of Ajax. However, tools like JsonFx aim to simplify JsonML and JBST implementation while still providing a full browser-side templating Ajax pattern. ==References==