I've been using this nifty trick to store blocks of metadata, be it JSON or fragments of HTML:
<script type="text/html">
<p>This gets something done to it later.</p>
</script>
<script type="application/json">
{"name":"Niet","species":"Absol"}
</script>
JavaScript then gets these tags and uses their contents in some way.
This works great. I only have one problem...
<script type="text/html">
<p>This is a template for something used in many places.</p>
<p>Rather than having, say, a hundred copies of basically the same thing,
this lets me define the HTML once and then re-use it as needed,
while allowing for easy editing because it doesn't need mass escaping.</p>
<p>However, what if I want a template that contains a template?</p>
<script type="text/html">
<p>Nested scripts?</p>
<p>That's not gonna work.</p>
</script>
</script>
So what do? Is there another tag, maybe a new HTML5 feature I haven't heard of yet, that lets me define template and other data in this way?