I just tried some stuff out for fun with your files, and was able to get the transformed xml wrapped in some html (ie your template).
It’s a simple proof of concept, and I’d be moved to re-think it once I got going with it, but here goes:
Make 2 documents in MODx.
* One will be your .xsl transform document - set it to no template and type text/xml, and paste in the contents of your .xsl file. You can give the document any alias, but note that you can put the .xsl extension in the alias if you like. And to be diligent, make sure it’s set up not to show in the menu, and maybe don’t let it be cached yet until you get it working nicely.
* The second document will be your xml file. Also set it to no template, type text/xml and paste the contents of your xml file. Same sentiments as above for the alias. Since it doesn’t really matter what the alias is, let’s call it "products.html".
Editing the products.html document, change the reference to the xsl file to a MODx document reference, like so (make sure you use the right document id of course):
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="[~49~]"?>
Now if you load up products.html in your browser, it should look no different than
http://www.eshop600.co.uk/asfasdf does already.
Here’s where the fun begins. Just open up your MODx xsl document and start adding html to it. Here’s an example of it just putting a header at the top of the page (I tightened up XML Spy’s xsl stuff output just for readability):
<?xml version="1.0" encoding="ISO-8859-1"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[(site_name)] | [*pagetitle*] published [*publishedon*] </title>
<base href="[(site_url)]"></base>
</head>
<body>
<h1>here's a header</h1>
<xsl:for-each select="product/prod">
<xsl:element name="a">
<xsl:attribute name="href"> <xsl:value-of select="awLink"/></xsl:attribute>
<img border="0" style="float:left"><xsl:attribute name="src"><xsl:value-of select="mThumb"/></xsl:attribute></img>
</xsl:element>
<p><b><xsl:value-of select="name"/></b></p>
<p><xsl:value-of select="desc"/></p>
<p><b>£<xsl:value-of select="price/search"/></b>
<xsl:text xsl:space="preserve"> </xsl:text>
<xsl:element name="a">
<xsl:attribute name="href"> <xsl:value-of select="awLink"/></xsl:attribute>
<xsl:value-of select="name"/> >>
</xsl:element>
</p><br /><br />
</xsl:for-each>
</body>
</html>
You should be able to move all of the elements of your standard template into this - this MODx xsl document is essentially now your template.
You can still re-jig this solution using actual template, chunks etc however you see fit, but this is at least a proof of concept.