Amazon Explorer v108 - XSL Code

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1">
  3. <xsl:output method="html"/>
  4. <!--User Defined Variables-->
  5. <xsl:variable name="title" select="'Amazon Explorer'"/>
  6. <xsl:variable name="bookmarktitle" select="'Support This Site By Using This Bookmark To Make Purchases At Amazon.com.'"/>
  7. <xsl:variable name="associate-id" select="'celticstones'"/>
  8. <xsl:variable name="image-url" select="'http://celtic-one-design.com/images/amz_images1/'"/>
  9. <xsl:variable name="target" select="'_blank'"/>
  10. <xsl:variable name="AWSversion" select="'http://xml-na.amznxslt.com/onca/xml3?'"/>
  11. <!-- Do Not Modify The Following Variables-->
  12. <xsl:variable name="STOREFRONT" select="ProductInfo/Request/Args/Arg[@name = 'storefront']/@value" />
  13. <xsl:variable name="MYBOTTOMSTORE" select="/ProductInfo/Request/Args/Arg[@name='mybottomstore']/@value"/>
  14. <xsl:variable name="TYPE" select="/ProductInfo/Request/Args/Arg[@name='type']/@value"/>
  15. <xsl:variable name="PAGE" select="/ProductInfo/Request/Args/Arg[@name='page']/@value"/>
  16. <xsl:variable name="MODE" select="/ProductInfo/Request/Args/Arg[@name='mode']/@value"/>
  17. <xsl:variable name="SORT" select="/ProductInfo/Request/Args/Arg[@name='sort']/@value"/>
  18. <xsl:variable name="template-url" select="/ProductInfo/Request/Args/Arg[@name='f']/@value"/>
  19. <xsl:variable name="developer-tag" select="'D33U9QUBB1LUSJ'"/>
  20. <xsl:variable name="SearchType">
  21. <xsl:choose>
  22. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='BrowseNodeSearch']">BrowseNodeSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='BrowseNodeSearch']/@value" /></xsl:when>
  23. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='PowerSearch']">PowerSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='PowerSearch']/@value" /></xsl:when>
  24. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='AuthorSearch']">AuthorSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='AuthorSearch']/@value" /></xsl:when>
  25. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='ArtistSearch']">ArtistSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='ArtistSearch']/@value" /></xsl:when>
  26. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='ActorSearch']">ActorSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='ActorSearch']/@value" /></xsl:when>
  27. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='DirectorSearch']">DirectorSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='DirectorSearch']/@value" /></xsl:when>
  28. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='ManufacturerSearch']">ManufacturerSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='ManufacturerSearch']/@value" /></xsl:when>
  29. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='AsinSearch']">AsinSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='AsinSearch']/@value" /></xsl:when>
  30. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='SimilaritySearch']">SimilaritySearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='SimilaritySearch']/@value" /></xsl:when>
  31. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='KeywordSearch']">KeywordSearch=<xsl:value-of select="/ProductInfo/Request/Args/Arg[@name='KeywordSearch']/@value" /></xsl:when>
  32. </xsl:choose>
  33. </xsl:variale>
  34. <!-- Root -->
  35. <xsl:template match="/">
  36. <html>
  37. <xsl:choose>
  38. <xsl:when test="$MYBOTTOMSTORE='true'"><xsl:call-template name="MyBottomStore" /></xsl:when>
  39. <xsl:otherwise>
  40. <head>
  41. <meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />
  42. <meta HTTP-EQUIV="Expires" CONTENT="-1" />
  43. <style>
  44. <xsl:comment>
  45. body{ text-align:left; background-color: white; font-family: verdana,sans-serif; font-size: small; color: black; padding: 0px; margin: 10px; }
  46. h3{ margin: 4px; }
  47. hr{ color: #336699; width: 90%; height: 3px; }
  48. form{ margin: 0px; }
  49. .header{ width: 100%; font-size: x-small; border: 3px solid #336699; background-color: white; border-spacing: 3px; }
  50. .asin_detail{ width: 100%; font-size: x-small; border: 3px solid #336699; background-color: white; border-spacing: 3px; }
  51.  
  52. .table2{ width: 100%; font-size: xx-small; border: 3px solid #336699; background-color: white; border-spacing: 3px; }
  53.  
  54. .productbox{ width: 100%; font-size: xx-small; border: 3px solid #336699; background-color: white; border-spacing: 3px; }
  55.  
  56. .productbox td{ width: 33%; text-align: center; vertical-align: bottom; }
  57.  
  58. .storefront_main{ width: 100%; font-size: x-small; border: 0px; background-color: white; border-spacing: 3px; }
  59.  
  60. .caption1{ padding: 3px; color: white; font-size: small; background-color: #336699; font-weight: bold; }
  61.  
  62. .subject{ text-transform: capitalize; padding: 3px; color: white; font-size: small; background-color: #336699; font-weight: bold; }
  63.  
  64. .title{ padding: 6px; color: white; font-size: small; background-color: #336699; font-weight: bold; letter-spacing: 4px; }
  65.  
  66. .searchboxcaption{ padding: 3px; color: white; font-size: x-small; background-color: #336699; }
  67. .buybox{ padding: 3px; color: white; background-color: #336699; }
  68.  
  69. .pricebox{ padding: 3px; color: white; background-color: white; border: 3px solid #336699; }
  70.  
  71. .buybutton{ cursor: hand; width: 100%; margin: 3px; color: white; background-color: #336699; }
  72. .searchbutton{ cursor: hand; width: 100%; margin: 3px; color: white; background-color: #336699; }
  73. .leftright{ padding-left: 10%; padding-right: 10%; }
  74. </xsl:comment>
  75. </style>
  76. <title><xsl:value-of select="$title"/><xsl:text> - </xsl:text>
  77. <xsl:choose>
  78. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='BrowseNodeSearch']">
  79. <xsl:value-of select="ProductInfo/Details/Catalog"/>
  80. </xsl:when>
  81. <xsl:otherwise>
  82. <xsl:value-of select="substring-after($SearchType,'=')"/>
  83. </xsl:otherwise>
  84. </xsl:choose>
  85. </title>
  86. </head>
  87. <body>
  88. <xsl:call-template name="Header" />
  89. <xsl:call-template name="Toolbar" />
  90. <br />
  91. <xsl:choose>
  92. <xsl:when test="$STOREFRONT='true'">
  93. <xsl:call-template name="StoreFront" />
  94. </xsl:when>
  95. <xsl:when test="count(ProductInfo/Details) = 0">
  96. <div align="center" class="caption1">
  97. <p>Unable to find exact matches for your search for<br /><br /><b>"<xsl:value-of select="substring-after($SearchType,'=')"/>"</b><br /><br />
  98. Please modify your search and try again.</p>
  99. </div>
  100. </xsl:when>
  101. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='AsinSearch']">
  102. <xsl:apply-templates select="ProductInfo/Details" />
  103. </xsl:when>
  104. <xsl:otherwise>
  105. <xsl:call-template name="AWSSearch" />
  106. </xsl:otherwise>
  107. </xsl:choose>
  108. <br />
  109. <xsl:call-template name="SearchBox" />
  110. </body>
  111. </xsl:otherwise>
  112. </xsl:choose>
  113. </html>
  114. </xsl:template>
  115. <!-- End Of Root -->
  116. <!-- Start of Templates -->
  117. <!--Details-->
  118. <xsl:template match="Details">
  119. <span class="caption1"><xsl:apply-templates select="Catalog"/></span>
  120. <table cols="3" class="asin_detail">
  121. <tr valign="top"><td colspan="2">
  122. <h3><xsl:value-of select="ProductName"/></h3>
  123. </td>
  124.  
  125. <!--DISPLAY RIGHT SIDE BUY BOX-->
  126. <td rowspan="2" align="center" width="25%">
  127. <div class="buybox">
  128. <b>Ready To Buy?</b>
  129. <div class="pricebox">
  130. <xsl:variable name="nOurPrice">
  131. <xsl:value-of select="translate(OurPrice,',$','')"/>
  132. </xsl:variale>
  133. <xsl:variable name="nListPrice">
  134. <xsl:value-of select="translate(ListPrice,',$','')"/>
  135. </xsl:variale>
  136. <xsl:choose>
  137. <xsl:when test="count(OurPrice) = 0"><p><b style="color:red;">Sorry - Not Available</b><br /></p></xsl:when>
  138. <xsl:when test="substring(OurPrice,1,3) = 'Too'"><p><b style="color:green;">PRICE: </b>Our Unusually Low Price is so low that we can't show it on this page. To see our price, add this item to your cart. You can always remove it later.</p></xsl:when>
  139. <xsl:when test="($nOurPrice >= $nListPrice) or not(number($nListPrice))"><p><b style="color:green;">Our price: <xsl:value-of select="OurPrice"/></b><br /></p></xsl:when>
  140. <xsl:otherwise>
  141. <p><b style="color:&#0;lack; text-decoration:line-through;">List price: <xsl:value-of select="ListPrice"/></b><br />
  142. <b style="color:red;">Our price: <xsl:value-of select="OurPrice"/></b><br />
  143. <b style="color:green;">THAT'S <xsl:value-of select="100 - round(($nOurPrice div $nListPrice) * 100)"/><xsl:text>%</xsl:text> OFF!</b></p>
  144. </xsl:otherwise>
  145. </xsl:choose>
  146. </div>
  147. <xsl:variable name="nAsin"><xsl:value-of select="Asin"/></xsl:variable>
  148. <form method="POST" target="{$target}" action="{concat('http://www.amazon.com/o/dt/assoc/handle-buy-box=',$nAsin)}">
  149. <input type="hidden" name="{concat('asin.', $nAsin)}" value="1"/>
  150. <input type="hidden" name="tag_value" value="{$associate-id}"/>
  151. <input type="hidden" name="tag-value" value="{$associate-id}"/>
  152. <input type="hidden" name="dev-tag-value" value="{$developer-tag}"/>
  153. <input type="submit" name="submit.add-to-cart" value="Buy At Amazon.com" title="Buy From Amazon.com" class="buybutton" />
  154. </form>
  155. <xsl:variable name="nonostring">&#39;&#34;</xsl:variable>
  156. <xsl:variable name="product_title"><xsl:value-of select="translate(ProductName, $nonostring, '')"/></xsl:variable>
  157. <button class="buybutton" onclick="window.external.AddFavorite('{@url}', '{$product_title}');" title="No Time? Bookmark it!">Bookmark It!</button><br />
  158. <form method="GET" target="{$target}" action="{@url}">
  159. <input type="submit" value="More Product Info?" title="More Product Info From Amazon.com?" class="buybutton" />
  160. </form>
  161. </div>
  162. </td></tr>
  163. <!--DISPLAY PRODUCT IMAGE BOX -->
  164. <tr valign="top"><td align="center" width="20%">
  165. <a href="{ImageUrlLarge}" target="{$target}" title="Click For Larger Image - If Available"><img src="{ImageUrlMedium}" border="0" onload="if(this.width=='1') this.src='http://g-images.amazon.com/images/G/01/books/icons/books-no-image.gif'"/></a>
  166. </td>
  167. <!--DISPLAY PRODUCT DETAILS -->
  168. <td width="55%">
  169. <xsl:apply-templates select="Authors | Artists | Starring | Directors"/>
  170. <xsl:apply-templates select="Manufacturer">
  171. <xsl:with-param name="cat" select="Catalog"/>
  172. </xsl:apply-templates>
  173. <xsl:apply-templates select="SalesRank"/>
  174. <xsl:if test="(Catalog = 'DVD') or (Catalog = 'Video Games') or (Catalog = 'Video') or (Catalog = 'Software') or (Catalog = 'Music') or (Catalog = 'Book')">
  175. <xsl:apply-templates select="Media"/>
  176. </xsl:if>
  177. <xsl:apply-templates select="TheatricalReleaseDate"/>
  178. <xsl:apply-templates select="ReleaseDate"/>
  179. <xsl:apply-templates select="Availability"/>
  180. <xsl:apply-templates select="Platforms"/>
  181. <xsl:apply-templates select="Features">
  182. <xsl:with-param name="cat" select="Catalog"/>
  183. </xsl:apply-templates>
  184. </td></tr>
  185. <tr><td colspan="3" height="30"></td></tr>
  186. <!-- DISPLAY SOUNDTRACKS -->
  187. <xsl:apply-templates select="Tracks" />
  188. <!-- DISPLAY REVIEWS -->
  189. <xsl:apply-templates select="ProductDescription" />
  190. <xsl:apply-templates select="Reviews/AvgCustomerRating"/>
  191. <xsl:apply-templates select="Reviews/TotalCustomerReviews"/>
  192. <xsl:apply-templates select="Reviews/CustomerReview">
  193. <xsl:sort select="Rating" order="descending"/>
  194. </xsl:apply-templates>
  195. <!-- DISPLAY ACCESSORIES / SIMILAR ITEMS IMAGES -->
  196. <tr><td colspan="3" align="center">
  197. <xsl:apply-templates select="Accessories"/>
  198. <xsl:apply-templates select="SimilarProducts">
  199. <xsl:with-param name="Asin" select="Asin"/>
  200. </xsl:apply-templates>
  201. <!-- DISPLAY BROWSENODE LIST -->
  202. <xsl:apply-templates select="BrowseList"/>
  203. </td></tr>
  204. <tr><td colspan="3" height="30"></td></tr>
  205. <tr><td colspan="3" align="center">
  206. <div class="title"><xsl:value-of select="$title" /></div>
  207. </td></tr>
  208. </table>
  209. </xsl:template>
  210. <!--END OF DETAIL TEMPLATE-->
  211. <!--STOREFRONT TEMPLATE-->
  212. <!--Modify-->
  213. <xsl:template name="StoreFront">
  214. <xsl:variable name="stub2" select="concat($AWSversion, 't=',$associate-id, '&amp;dev-t=',$developer-tag,'&amp;page=1&amp;type=lite&amp;sort=+salesrank&amp;f=',$template-url,'&amp;')" />
  215. <table cols="2" class="storefront_main">
  216. <tr valign="top">
  217. <!--Start Left Column -->
  218. <td width="25%">
  219. <table class="table2">
  220. <tr>
  221. <td valign="top" align="center">
  222. <div class="caption1">Culture</div><br />
  223. <p><a title="Celtic Christianity" href="{$stub2}PowerSearch=subject:celtic church&amp;mode=books">Celtic Christianity</a><br /></p>
  224. <p><a title="Celtic Saints" href="{$stub2}PowerSearch=subject:Christian saints, Celtic&amp;mode=books">Celtic Saints</a><br /></p>
  225. <p><a title="Celtic Religions" href="{$stub2}PowerSearch=subject:Spirituality - Celtic&amp;mode=books">Celtic Religion</a><br /></p>
  226. <p><a title="Celtic Art" href="{$stub2}PowerSearch=subject:Decoration and ornament, Celti&amp;mode=books">Celtic Ornamentation</a><br /></p>
  227. <p><a title="Celtic Mythology" href="{$stub2}PowerSearch=subject:Mythology&amp;mode=books">Celtic Mythology</a><br /></p>
  228. <p><a title="Celtic Music" href="{$stub2}BrowseNodeSearch=63760&amp;mode=music">Celtic Music</a><br /></p>
  229. <p><a title="Celtic Dance" href="{$stub2}KeywordSearch=Celtic Dance&amp;mode=books">Celtic Dance</a><br /></p>
  230. <p><a title="Celtic Civilization" href="{$stub2}PowerSearch=subject:Civilization,%20Celtic&amp;mode=books">Celtic Civilization</a><br /></p>
  231. <p><a title="Celtic Language" href="{$stub2}PowerSearch=subject:Celtic Languages&amp;mode=books">Celtic Language</a><br /></p>
  232. <br /><div class="caption1">Food</div><br />
  233. <p><a title="Ireland" href="{$stub2}BrowseNodeSearch=4284&amp;mode=books">Ireland</a><br /></p>
  234. <p><a title="British, Scottish, Welsh" href="{$stub2}BrowseNodeSearch=4276&amp;mode=books">British Isles</a><br /></p>
  235. <br /><div class="caption1">History</div><br />
  236. <p><a title="History of Scotland" href="{$stub2}PowerSearch=subject:Europe - Great Britain - Scotland&amp;mode=ooks">Scotland</a><br /></p>
  237. <p><a title="History of Ireland" href="{$stub2}PowerSearch=subject:Ireland - History&amp;mode=books">Ireland</a><br /></p>
  238. <p><a title="Medieval Ireland" href="{$stub2}BrowseNodeSearch=465214&amp;mode=books">Medieval Ireland</a><br /></p>
  239. <p><a title="History of Wales" href="{$stub2}BrowseNodeSearch=4982&amp;mode=books">Wales</a><br /></p>
  240. <p><a title="Medieval England" href="{$stub2}BrowseNodeSearch=465192&amp;mode=books">Medieval England</a><br /></p>
  241. <p><a title="Ancient England" href="{$stub2}BrowseNodeSearch=465182&amp;mode=books">Ancient England</a><br /></p>
  242. <br /><div class="caption1">Travel</div><br />
  243. <p><a title="Travel To Scotland" href="{$stub2}KeywordSearch=Travel%20to%20Scotland&amp;mode=books">Scotland</a><br /></p>
  244. <p><a title="Travel To Ireland" href="{$stub2}KeywordSearch=Travel%20to%20Ireland&amp;mode=books">Ireland</a><br /></p>
  245. <p><a title="Travel To Wales" href="{$stub2}KeywordSearch=Travel%20to%20Wales&amp;mode=books">Wales</a><br /></p>
  246. <p><a title="Travel To England" href="{$stub2}PowerSearch=subject:Europe%20-%20Gt.%20Britain/England&amp;mode=books">England</a><br /></p>
  247. <br /><br /><br /><&#0;r /></td></tr></table>
  248. </td>
  249. <!--Start Center Column -->
  250. <td align="center"><xsl:call-template name="AWSSearch" /></td>
  251. </tr>
  252. </table>
  253. </xsl:template>
  254. <!--Process all non ASIN Searches-->
  255. <xsl:template name="AWSSearch">
  256. <table cols="3" class="productbox">
  257. <tr><td colspan="3" align="center">
  258. <div class="subject">
  259. <xsl:choose>
  260. <xsl:when test="/ProductInfo/Request/Args/Arg[@name='BrowseNodeSearch']">
  261. <xsl:value-of select="ProductInfo/Details/Catalog"/>
  262. </xsl:when>
  263. <xsl:otherwise>
  264. <xsl:value-of select="substring-after($SearchType,'=')"/>
  265. </xsl:otherwise>
  266. </xsl:choose>
  267. </div>
  268. </td></tr>
  269. <tr height="20"><td colspan="3" height="20"></td></tr>
  270. <xsl:for-each select="ProductInfo/Details">
  271. <xsl:sort select="(count(Availability) = 0) or substring(Availability,1,7) = 'Usually' or substring(Availability,1,13) ='In stock soon' or substring(Availability,1,7)='Not yet' or substring(Availability,1,13)='Special Order'" order="descending"/>
  272. <xsl:if test="position() mod 3 = 1">
  273. <xsl:text disable-output-escaping="yes">&lt;</xsl:text>tr<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
  274. </xsl:if>
  275. <xsl:call-template name="Cell"><xsl:with-param name="t" select="'_self'"/></xsl:call-template>
  276. <xsl:if test="position() mod 3 = 0 or position() = last()">
  277. <xsl:text disable-output-escaping="yes">&lt;</xsl:text>/tr<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
  278. <tr height="20"><td colspan="3" height="20"></td></tr>
  279. </xsl:if>
  280. </xsl:for-each>
  281. <tr><td colspan="3" align="center">
  282. <div class="title"><xsl:value-of select="$title" /></div>
  283. </td></tr>
  284. </table>
  285. </xsl:template>
  286. <xsl:template name="Cell">
  287. <xsl:param name="t"/>
  288. <xsl:if test="(count(Availability) = 0) or substring(Availability,1,7) = 'Usually' or substring(Availability,1,13) ='In stock soon' or substring(Availability,1,7)='Not yet' or substring(Availability,1,13)='Special Order'">
  289. <xsl:variable name="product_title" select="ProductName"/>
  290. <xsl:variable name="product_title2">
  291. <xsl:choose>
  292. <xsl:when test="substring-before(translate(ProductName,':(','**'),'*') = ''">
  293. <xsl:value-of select="$product_title"/>
  294. </xsl:when>
  295. <xsl:otherwise><xsl:value-of select="substring-before(translate(ProductName,':(','**'),'*')"/></xsl:otherwise>
  296. </xsl:choose>
  297. </xsl:variale>
  298. <td height="200px">
  299. <a target="{$t}" href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;AsinSearch={Asin}&amp;type=heavy&amp;f={$template-url}"><img title="{$product_title}" src="{ImageUrlMedium}" vspace="10" border="0" onload="if(this.width=='1') this.src='http://g-images.amazon.com/images/G/01/books/icons/books-no-image.gif'"/></a>
  300. <br />
  301. <xsl:if test="count(OurPrice) != 0">
  302. Buy New: <font color="#990000"><xsl:value-of select="OurPrice"/></font><br />
  303. </xsl:if>
  304. <a target="{$t}" href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;AsinSearch={Asin}&amp;type=heavy&amp;f={$template-url}" title="{$product_title}"><xsl:value-of select="substring($product_title2,1,60)" disable-output-escaping="yes" /></a>
  305. </td>
  306. </xsl:if>
  307. </xsl:template>
  308. <!--Header of Page-->
  309. <xsl:template name="Header">
  310. <table class="header">
  311. <tr><td align="center" width="60%"><div class="title"><xsl:value-of select="$title" /></div></td>
  312. <td rowspan="2">
  313. <!--Amazon.com Bookmark (Adapt to your site) -->
  314. <a href="http://www.amazon.com/exec/obidos/redirect-home/{$associate-id}">
  315. <img onclick="window.external.AddFavorite('http://www.amazon.com/exec/obidos/redirect-home/{$associate-id}','Amazon.com');" src="http://g-images.amazon.com/images/G/01/associates/navbar2000/logo-no-border(1).gif" border="0" title="{$bookmarktitle}" height="43" width="148"/></a>
  316. <img src="{$image-url}amazon-webservices3.jpg"/>
  317. <!--XSLT Tracking Code = (Remove) -->
  318. <script language="JavaScript" src="http://celtic-one-design.com/js/tracker.js"></script>
  319. </td></tr>
  320. <tr><td align="center"><div class="title">In Association with ...</div></td>
  321. </tr></table>
  322. </xsl:template>
  323. <!--SearchBox-->
  324. <xsl:template name="SearchBox">
  325. <form name="myform" onsubmit="return false">
  326. <table cols="4" class="table2">
  327. <tr><td align="center" colspan="4">
  328. <h3 style="letter-spacing: 6pt">Amazon Products Search</h3>
  329. </td></tr>
  330. <tr><td width="30%" align="center"><div class="searchboxcaption">Search Type<br />
  331. <select name="advSearch">
  332. <option value="KeywordSearch" selected="">Keyword Search</option>
  333. <option value="ActorSearch">Actor Search</option>
  334. <option value="DirectorSearch">Director Search</option>
  335. <option value="ArtistSearch">Band/Artist Search</option>
  336. <option value="AuthorSearch">Author Search</option>
  337. <option value="AsinSearch">ISBN Search</option>
  338. <option value="UpcSearch">UPC Search (CDs Only)</option>
  339. <option value="ManufacturerSearch">Manufacturer</option>
  340. </select></div></td>
  341. <td width="30%" align="center"><div class="searchboxcaption">Search Term<br />
  342. <input maxLength="256" name="searchterm" size="20" /></div></td>
  343. <td width="30%" align="center"><div class="searchboxcaption">Product Type<br />
  344. <select name="mode">
  345. <option value="books" selected="">Books</option>
  346. <option value="magazines">... Magazines</option>
  347. <option value="video">All Movies</option>
  348. <option value="dvd">... DVD Only</option>
  349. <option value="vhs">... VHS Only</option>
  350. <option value="music">Music</option>
  351. <option value="electronics">Electronics</option>
  352. <option value="pc-hardware">... Computers</option>
  353. <option value="software">... ... Software</option>
  354. <option value="photo">... Camera &amp; Photo</option>
  355. <option value="toys">Toys &amp; Games</option>
  356. <option value="videogames">... Video Games</option>
  357. <option value="garden">Outdoor Living</option>
  358. <option value="kitchen">Kitchen &amp; Housewares</option>
  359. <option value="tools">Tools &amp; Hardware</option>
  360. <option value="baby">Baby</option>
  361. </select></div></td>
  362. <td width="10%" align="center">
  363. <input title="Click To Search" class="searchbutton" onclick="window.location.href='{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;' + myform.advSearch.value + '=' + myform.searchterm.value + '&amp;page=1&amp;mode='+ myform.mode.value + '&amp;type=lite&amp;sort=+salesrank&amp;f={$template-url}'; return false" type="button" value="Search" />
  364. </td></tr>
  365. <tr><td colspan="4" align="center">
  366. <font color="red"><&#0;>Amazon.com prices are subject to change.</b></font>
  367. <br /><br />
  368. Amazon XSL Explorer v108 © 2002 - 2003 by <a href="http://celtic-one-design.com/amazon_associate_scripts.htm" target="_top">CelticOneDesign</a>
  369. </td></tr>
  370. </table>
  371. </form>
  372. </xsl:template>
  373. <!--Total Pages-->
  374. <xsl:template match="TotalPages">
  375. <xsl:if test="$PAGE != 1">
  376. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;{$SearchType}&amp;page={$PAGE -1}&amp;mode={$MODE}&amp;type=lite&amp;sort={$SORT}&amp;f={$template-url}">&lt;&lt; Previous</a>
  377. <xsl:text> - </xsl:text>
  378. </xsl:if>
  379. PAGE <xsl:value-of select="$PAGE"/> OF <xsl:value-of select="." />
  380. <xsl:if test="$PAGE != .">
  381. <xsl:text> - </xsl:text>
  382. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;{$SearchType}&amp;page={$PAGE +1}&amp;mode={$MODE}&amp;type=lite&amp;sort={$SORT}&amp;f={$template-url}">Next &gt;&gt;</a>
  383. </xsl:if>
  384. </xsl:template>
  385. <xsl:template name="Toolbar">
  386. <table class="table2">
  387. <tr valign="middle">
  388. <td width="40%" align="left">
  389. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;KeywordSearch=Celtic Art&amp;page=1&amp;mode=books&amp;type=lite&amp;f={$template-url}&amp;storefront=true" title="Go To Store Home">Store Front</a>
  390. <xsl:text> | </xsl:text>
  391. <a href="http://www.amazon.com/exec/obidos/redirect?tag={$associate-id}&amp;path=shopping-basket" target="{$target}" title="View Your Amazon.com Cart">View Cart</a>
  392. <xsl:text> | </xsl:text>
  393. <a href="http://www.amazon.com/exec/obidos/redirect?tag={$associate-id}&amp;path=account-access-login" target="{$target}">View your Amazon Account</a>
  394. </td>
  395. <td align="center">
  396. <xsl:variable name="stub" select="concat($AWSversion, 't=',$associate-id, '&amp;dev-t=',$developer-tag,'&amp;page=1&amp;type=lite&amp;sort=+salesrank&amp;f=',$template-url,'&amp;BrowseNodeSearch=')" />
  397. <select style="margin:0 ; padding: 0;" name="search" onChange="location=this.options[this.selectedIndex].value">
  398. <option selected="" value="">Browse Amazon</option>
  399. <option value="{$stub}53&amp;mode=books">Books</option>
  400. <option value="{$stub}599872&amp;mode=magazines">...Magazines</option>
  401. <option value="{$stub}404272&amp;mode=video">All Movies</option>
  402. <option value="{$stub}130&amp;mode=dvd">...DVD</option>
  403. <option value="{$stub}404272&amp;mode=vhs">...VHS</option>
  404. <option value="{$stub}301668&amp;mode=music">Music</option>
  405. <option value="{$stub}172282&amp;mode=electronics">Electronics</option>
  406. <option value="{$stub}565118&amp;mode=pc-hardware">...Computers</option>
  407. <option value="{$stub}491286&amp;mode=software">... ...Software</option>
  408. <option value="{$stub}502394&amp;mode=photo">...Camera &amp; Photo</option>
  409. <option value="{$stub}491290&amp;mode=toys">Toys &amp; Games</option>
  410. <option value="{$stub}471280&amp;mode=videogames">...Video Games</option>
  411. <option value="{$stub}468250&amp;mode=garden">Outdoor</option>
  412. <option value="{$stub}491864&amp;mode=kitchen">Kitchen &amp; Housewares</option>
  413. <option value="{$stub}468240&amp;mode=tools">Tools &amp; Hardware</option>
  414. <option value="{$stub}542456&amp;mode=baby">Baby</option>
  415. </select>
  416. </td>
  417. <td width="33%" align="right">
  418. <xsl:apply-templates select="/ProductInfo/TotalPages" />
  419. </td></tr></table>
  420. </xsl:template>
  421.  
  422. <xsl:template match="SalesRank">
  423. <b>Sales Rank: </b><xsl:value-of select="."/><br />
  424. </xsl:template>
  425. <xsl:template match="Media">
  426. <b>Media: </b><xsl:value-of select="."/><br />
  427. </xsl:template>
  428. <xsl:template match="Catalog">
  429. <xsl:text> - </xsl:text>Amazon <xsl:value-of select="."/> Catalog<xsl:text> - </xsl:text>
  430. </xsl:template>
  431. <xsl:template match="ReleaseDate">
  432. <b>Release Date: </&#0;><xsl:value-of select="."/><br />
  433. </xsl:template>
  434. <xsl:template match="TheatricalReleaseDate">
  435. <b>Theatrical Release Date: </b><xsl:value-of select="."/><br />
  436. </xsl:template>
  437. <xsl:template match="Availability">
  438. <b>Availability: </&#0;><xsl:value-of select="."/>
  439. <xsl:if test="(substring(.,1,13)='Special Order')">. Please note that special order titles occasionally go out of stock.<xsl:text> </xsl:text>
  440. <xsl:if test="../Catalog = 'Book'">These hard-to-find titles are not discounted and are subject to <a href="http://www.amazon.com/exec/obidos/redirect?tag={$associate-id}&amp;path=tg/browse/-/510066/" target="{$target}">an additional charge of $1.99 per item</a> due to the extra cost of ordering them.<xsl:text> </xsl:text></xsl:if>
  441. Amazon.com will notify you within 2-4 weeks if they have trouble obtaining this title.</xsl:if>
  442. <xsl:if test="(substring(.,1,7)='Not yet')">. You may order it now and we will ship it to you when it arrives.</xsl:if>
  443. <br />
  444. </xsl:template>
  445. <xsl:template match="Platforms">
  446. <ul type="disc"><b>Platforms</b>
  447. <xsl:for-each select="Platform"><li /><xsl:value-of select="."/></xsl:for-each>
  448. </ul>
  449. </xsl:template>
  450. <xsl:template match="Tracks">
  451. <tr><td colspan="3">
  452. <h3>Tracks</h3>
  453. <ol>
  454. <xsl:for-each select="Track"><li /><xsl:value-of select="."/></xsl:for-each>
  455. </ol>
  456. </td></tr>
  457. </xsl:template>
  458. <xsl:template match="Accessories">
  459. <h3>Accessories</h3><hr />
  460. <xsl:for-each select="Accessory">
  461. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;AsinSearch={current()}&amp;type=heavy&amp;f={$template-url}">
  462. <img title="Click to View More Information For This Accessory" src="http://images.amazon.com/images/P/{current()}.01.MZZZZZZZ.jpg" border="0" /></a>
  463. </xsl:for-each>
  464. <hr />
  465. <br />
  466. </xsl:template>
  467. <xsl:template match="SimilarProducts">
  468. <xsl:param name="Asin"/>
  469. <h3>Customers who shopped for this item also shopped for these items:</h3>
  470. <hr />
  471. <xsl:for-each select="Product">
  472. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;AsinSearch={current()}&amp;type=heavy&amp;f={$template-url}">
  473. <img title="Click to Explore This Similar Item" src="http://images.amazon.com/images/P/{current()}.01.MZZZZZZZ.jpg" border="0" /></a>
  474. </xsl:for-each>
  475. <hr />
  476. <p><br /><b><a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;SimilaritySearch={$Asin}&amp;type=lite&amp;sort=+salesrank&amp;f={$template-url}">Explore Similar Items?</a></b><br /></p>
  477. </xsl:template>
  478. <xsl:template match="Features">
  479. <xsl:param name="cat"/>
  480. <ul type="disc"><b>Features</b>
  481. <xsl:for-each select="Feature"><li /><xsl:value-of select="."/></xsl:for-each>
  482. <xsl:if test="($cat = 'DVD') or ($cat = 'Video Games') or ($cat = 'Video') or ($cat = 'Software') or ($cat = 'Music') or ($cat = 'Book')">
  483. <xsl:if test="count(../MpaaRating) != 0"><li />Rating: <xsl:value-of select="../MpaaRating"/><br /></xsl:if>
  484. <xsl:if test="count(../NumMedia) != 0"><li />Number in set: <xsl:value-of select="../NumMedia"/><br /></xsl:if>
  485. </xsl:if></ul>
  486. </xsl:template>
  487. <xsl:template match="BrowseList">
  488. <xsl:variable name="nonostring">&#39;&#34;:&amp;#()</xsl:variable>
  489. <xsl:if test="../Catalog = 'Book'">
  490. <br />
  491. <h3>Browse the bestselling at Amazon.com by related subject:</h3>
  492. <hr />
  493. <xsl:for-each select="BrowseNode"><xsl:for-each select="BrowseName">
  494. <xsl:variable name="subject">
  495. <xsl:value-of select="translate(current(), $nonostring, '')"/>
  496. </xsl:variale>
  497. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;PowerSearch=subject:{$subject}&amp;page=1&amp;mode=books&amp;type=lite&amp;sort=+salesrank&amp;f={$template-url}">
  498. <xsl:value-of select="."/></a><br />
  499. </xsl:for-each></xsl:for-each>
  500. <hr />
  501. </xsl:if>
  502. </xsl:template>
  503. <xsl:template match="Authors | Artists | Starring | Directors">
  504. <xsl:choose>
  505. <xsl:when test="name() = 'Authors'"><b>By: </b>
  506. <xsl:for-each select="Author">
  507. <xsl:call-template name="aws-search">
  508. <xsl:with-param name="searchstring" select="."/>
  509. <xsl:with-param name="search" select="'AuthorSearch'"/>
  510. <xsl:with-param name="mode" select="'books'"/>
  511. </xsl:call-template>
  512. </xsl:for-each></xsl:when>
  513. <xsl:when test="name() = 'Artists'"><b>Artist: </b>
  514. <xsl:for-each select="Artist">
  515. <xsl:call-template name="aws-search">
  516. <xsl:with-param name="searchstring" select="."/>
  517. <xsl:with-param name="search" select="'ArtistSearch'"/>
  518. <xsl:with-param name="mode" select="'music'"/>
  519. </xsl:call-template>
  520. </xsl:for-each></xsl:when>
  521. <xsl:when test="name() = 'Starring'"><b>Starring: </b>
  522. <xsl:for-each select="Actor">
  523. <xsl:call-template name="aws-search">
  524. <xsl:with-param name="searchstring" select="."/>
  525. <xsl:with-param name="search" select="'ActorSearch'"/>
  526. <xsl:with-param name="mode" select="'video'"/>
  527. </xsl:call-template>
  528. </xsl:for-each></xsl:when>
  529. <xsl:when test="name() = 'Directors'"><b>Director: </b>
  530. <xsl:for-each select="Director">
  531. <xsl:call-template name="aws-search">
  532. <xsl:with-param name="searchstring" select="."/>
  533. <xsl:with-param name="search" select="'DirectorSearch'"/>
  534. <xsl:with-param name="mode" select="'video'"/>
  535. </xsl:call-template>
  536. </xsl:for-each></xsl:when>
  537. </xsl:choose><br />
  538. </xsl:template>
  539. <xsl:template match="Manufacturer">
  540. <xsl:param name="cat"/>
  541. <xsl:choose>
  542. <xsl:when test="$cat = 'Music'"><b>Label: </b>
  543. <xsl:call-template name="aws-search">
  544. <xsl:with-param name="searchstring" select="."/>
  545. <xsl:with-param name="mode" select="'music'"/>
  546. </xsl:call-template></xsl:when>
  547. <xsl:when test="$cat = 'Electronics'"><b>Manufacturer: </b>
  548. <xsl:call-template name="aws-search">
  549. <xsl:with-param name="searchstring" select="."/>
  550. <xsl:with-param name="mode" select="'electronics'"/>
  551. </xsl:call-template></xsl:when>
  552. <xsl:when test="$cat = 'Book'"><b>Publisher: </b>
  553. <xsl:call-template name="aws-search">
  554. <xsl:with-param name="searchstring" select="."/>
  555. <xsl:with-param name="mode" select="'books'"/>
  556. </xsl:call-template></xsl:when>
  557. <xsl:when test="$cat = 'Magazine'"><b>Publisher: </b>
  558. <xsl:call-template name="aws-search">
  559. <xsl:with-param name="searchstring" select="."/>
  560. <xsl:with-param name="mode" select="'magazine'"/>
  561. </xsl:call-template></xsl:when>
  562. <xsl:when test="($cat = 'DVD') or ($cat = 'Video')"><b>Studio: </b>
  563. <xsl:call-template name="aws-search">
  564. <xsl:with-param name="searchstring" select="."/>
  565. <xsl:with-param name="mode" select="'video'"/>
  566. </xsl:call-template></xsl:when>
  567. <xsl:when test="$cat = 'Software'"><b>By: </b>
  568. <xsl:call-template name="aws-search">
  569. <xsl:with-param name="searchstring" select="."/>
  570. <xsl:with-param name="mode" select="'software'"/>
  571. </xsl:call-template></xsl:when>
  572. <xsl:when test="$cat = 'Personal Computer'"><b>Manufacturer: </b>
  573. <xsl:call-template name="aws-search">
  574. <xsl:with-param name="searchstring" select="."/>
  575. <xsl:with-param name="mode" select="'pc-hardware'"/>
  576. </xsl:call-template></xsl:when>
  577. <xsl:when test="$cat = 'Home Improvement'"><b>Manufacturer: </b>
  578. <xsl:call-template name="aws-search">
  579. <xsl:with-param name="searchstring" select="."/>
  580. <xsl:with-param name="mode" select="'tools'"/>
  581. </xsl:call-template></xsl:when>
  582. <xsl:when test="$cat = 'Toy'"><b>Manufacturer: </b>
  583. <xsl:call-template name="aws-search">
  584. <xsl:with-param name="searchstring" select="."/>
  585. <xsl:with-param name="mode" select="'toys'"/>
  586. </xsl:call-template></xsl:when>
  587. <xsl:when test="$cat = 'Video Games'"><b>By: </b>
  588. <xsl:call-template name="aws-search">
  589. <xsl:with-param name="searchstring" select="."/>
  590. <xsl:with-param name="mode" select="'videogames'"/>
  591. </xsl:call-template></xsl:when>
  592. <xsl:when test="$cat = 'Baby Product'"><b>Manufacturer: </b>
  593. <xsl:call-template name="aws-search">
  594. <xsl:with-param name="searchstring" select="."/>
  595. <xsl:with-param name="mode" select="'baby'"/>
  596. </xsl:call-template></xsl:when>
  597. <xsl:when test="$cat = 'Kitchen'"><b>Manufacturer: </b>
  598. <xsl:call-template name="aws-search">
  599. <xsl:with-param name="searchstring" select="."/>
  600. <xsl:with-param name="mode" select="'kitchen'"/>
  601. </xsl:call-template></xsl:when>
  602. <xsl:when test="$cat = 'Lawn &amp; Patio'"><b>Manufacturer: </b>
  603. <xsl:call-template name="aws-search">
  604. <xsl:with-param name="searchstring" select="."/>
  605. <xsl:with-param name="mode" select="'garden'"/>
  606. </xsl:call-template></xsl:when>
  607. <xsl:otherwise><b>By: </b><xsl:value-of select="."/></xsl:otherwise>
  608. </xsl:choose><br />
  609. </xsl:template>
  610. <xsl:template name="aws-search">
  611. <xsl:param name="searchstring"/>
  612. <xsl:param name="search" select="'ManufacturerSearch'"/>
  613. <xsl:param name="mode"/>
  614. <a href="{$AWSversion}t={$associate-id}&amp;dev-t={$developer-tag}&amp;{$search}={$searchstring}&amp;page=1&amp;mode={$mode}&amp;type=lite&amp;sort=+salesrank&amp;f={$template-url}">
  615. <xsl:value-of select="($searchstring)"/></a>
  616. <xsl:if test="position() != last() and not(position() = last()-1)">, </xsl:if>
  617. <xsl:if test="position() = last()-1"> and </xsl:if>
  618. </xsl:template>
  619. <xsl:template match="ProductDescription">
  620. <tr><td colspan="3">
  621. <h3>Amazon Product Review</h3>
  622. </td></tr>
  623. <tr><td colspan="3">
  624. <div class="leftright">
  625. <xsl:value-of select="." disable-output-escaping="yes" />
  626. <br /><br /></div>
  627. </td></tr>
  628. </xsl:template>
  629. <xsl:template match="AvgCustomerRating">
  630. <xsl:if test=". &gt; 0">
  631. <tr><td colspan="3">
  632. <h3>Customer Reviews</h3>
  633. <b>Average customer rating: </b>
  634. <xsl:call-template name="Stars">
  635. <xsl:with-param name="average" select="."/>
  636. </xsl:call-template><br />
  637. </td></tr>
  638. </xsl:if>
  639. </xsl:template>
  640. <xsl:template match="TotalCustomerReviews">
  641. <xsl:if test=". &gt; 0">
  642. <tr><td colspan="3">
  643. <b>Total Customer Reviews: </b>
  644. <xsl:value-of select="." />
  645. <br /><br />
  646. </td></tr>
  647. </xsl:if>
  648. </xsl:template>
  649. <xsl:template match="CustomerReview">
  650. <tr><td colspan="3" class="leftright">
  651. <xsl:call-template name="Stars">
  652. <xsl:with-param name="average" select="Rating"/>
  653. </xsl:call-template>
  654. <b><xsl:value-of select="Summary"/></b><br />
  655. </td></tr>
  656. <tr><td colspan="3">
  657. <div class="leftright">
  658. <xsl:value-of select="Comment" disable-output-escaping="yes" />
  659. <br /><br />
  660. </div></td></tr>
  661. </xsl:template>
  662. <xsl:template name="Stars">
  663. <xsl:param name="average" select="5"/>
  664. <xsl:variable name="thisurl" select="'http://g-images.amazon.com/images/G/01/detail/stars-'"/>
  665. <xsl:choose>
  666. <xsl:when test="$average &gt; 4.75"><img src="{$thisurl}5-0.gif"/></xsl:when>
  667. <xsl:when test="$average &gt; 4.25"><img src="{$thisurl}4-5.gif"/></xsl:when>
  668. <xsl:when test="$average &gt; 3.75"><img src="{$thisurl}4-0.gif"/></xsl:when>
  669. <xsl:when test="$average &gt; 3.25"><img src="{$thisurl}3-5.gif"/></xsl:when>
  670. <xsl:when test="$average &gt; 2.75"><img src="{$thisurl}3-0.gif"/></xsl:when>
  671. <xsl:when test="$average &gt; 2.25"><img src="{$thisurl}2-5.gif"/></xsl:when>
  672. <xsl:when test="$average &gt; 1.75"><img src="{$thisurl}2-0.gif"/></xsl:when>
  673. <xsl:when test="$average &gt; 1.25"><img src="{$thisurl}1-5.gif"/></xsl:when>
  674. <xsl:when test="$average &gt; .75"><img src="{$thisurl}1-0.gif"/></xsl:when>
  675. <xsl:when test="$average &gt; .25"><img src="{$thisurl}0-5.gif"/></xsl:when>
  676. <xsl:otherwise><img src="{$image-url}stars-0-5.gif"/></xsl:otherwise>
  677. </xsl:choose>
  678. </xsl:template>
  679. <!-- MyBottomStore Template -->
  680. <xsl:template name="MyBottomStore">
  681. <head>
  682. <meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />
  683. <meta HTTP-EQUIV="Expires" CONTENT="-1" />
  684. <style>
  685. <xsl:comment>
  686. a:link {color: blue;}
  687. a:visited {color: black; text-decoration: none;}
  688. body{ background-color: transparent; font-family: Verdana; color: black; margin: 0px; padding: 0px; }
  689. .box{ width: 738px; font-family: Verdana; border: 4px solid #336699; background-color: #336699; border-spacing: 0px; }
  690.  
  691. .productbox{ width: 738px; font-family: Verdana; border: 4px solid #336699; background-color: white; border-spacing: 2px; font-size: xx-small; }
  692.  
  693. .productbox td{ width: 20%; text-align: center; vertical-align: bottom; }
  694.  
  695. .byline{ width: 738px; font-family: Verdana; border: 4px solid #336699;
  696. background-color: #336699; border-spacing: 0px; font-size: xx-small; }
  697.  
  698. .byline a:link { color: white; }
  699.  
  700. .byline a:visited { color: white; text-decoration: none; }
  701.  
  702. .header{ color: white; line-height: 150%; margin-top: 0px; margin-bottom: 0px; text-align: center; }
  703. </xsl:comment>
  704. </style>
  705. </head>
  706. <body>
  707. <xsl:if test="count(ProductInfo/Details) != 0 and count(ProductInfo/ErrorMsg) != 1">
  708. <table class="box">
  709. <tr><th><p class="header">
  710. Related Resources From Amazon</p></th></tr></table>
  711. <table class="productbox">
  712. <tr height="10"><td colspan="5" height="10"></td></tr>
  713. <xsl:for-each select="ProductInfo/Details">
  714. <xsl:sort select="(count(Availability) = 0) or substring(Availability,1,7) = 'Usually' or substring(Availability,1,13) ='In stock soon' or substring(Availability,1,7)='Not yet' or substring(Availability,1,13)='Special Order'" order="descending"/>
  715. <xsl:if test="position() mod 5 = 1">
  716. <xsl:text disable-output-escaping="yes">&lt;</xsl:text>tr<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
  717. </xsl:if>
  718. <xsl:call-template name="Cell"><xsl:with-param name="t" select="'_blank'"/></xsl:call-template>
  719. <xsl:if test="position() mod 5 = 0 or position() = last()">
  720. <xsl:text disable-output-escaping="yes">&lt;</xsl:text>/tr<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
  721. <tr height="10"><td colspan="5" height="10"></td></tr>
  722. </xsl:if>
  723. </xsl:for-each>
  724. </table>
  725. <table class="byline">
  726. <tr><td align="right">
  727. <a href="http://celtic-one-design.com/amazon_associate_scripts.htm" target="page"> Amazon XSL Explorer © 2002 - 2003 by .:COD:.</a>
  728. </td></tr></table>
  729. </xsl:if>
  730. </body>
  731. </xsl:template>
  732. </xsl:stylesheet>