home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 November / PCWorld_2005-11_cd.bin / software / temacd / pixvue / PixVue.exe / PixVue.msi / _90456174704749E3BF328369F9AFB270 < prev    next >
Encoding:
Extensible Markup Language  |  2005-02-13  |  5.3 KB  |  126 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. To create a web gallery index page, PixVue applies this stylesheet (index.xsl) to an XML file that defines the index page. Here's an example:
  4.  
  5. <?xml version="1.0" encoding="UTF-8"?>
  6. <index title="My Gallery" columns="4">
  7.     <thumbnails>
  8.         <image width="128" height="96" target="pages/20030525-141526-16.html">thumbnails\20030525-141526-16.JPG</image>
  9.         <image width="128" height="96" target="pages/20030525-144222-17.html">thumbnails\20030525-144222-17.JPG</image>
  10.         <image width="96" height="128" target="pages/20030525-172900-24.html">thumbnails\20030525-172900-24.JPG</image>
  11.     </thumbnails>
  12. </index>
  13. -->
  14. <xsl:stylesheet version="1.0" extension-element-prefixes="rdf iX x dc exif tiff pv" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pv="http://www.pixvue.com/namespace/webgallery/1.0/" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:iX="http://ns.adobe.com/iX/1.0/" xmlns:x="adobe:ns:meta/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  15.     <xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" omit-xml-declaration="yes" indent="yes"/>
  16.     <xsl:template match="/">
  17.         <xsl:variable name="title" select="/index/@title"/>
  18.         <xsl:variable name="columns" select="/index/@columns"/>
  19.         <html>
  20.             <head>
  21.                 <xsl:text disable-output-escaping="yes"><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"></xsl:text>
  22.                 <xsl:text disable-output-escaping="yes"><meta name="generator" content="PixVue"></xsl:text>
  23.                 <title>
  24.                     <xsl:if test="$title">
  25.                         <xsl:value-of select="$title"/>
  26.                     </xsl:if>
  27.                 </title>
  28.                 <style type="text/css" media="screen">@import "media/gallery.css";</style>
  29.             </head>
  30.             <body>
  31.                 <center>
  32.                     <table align="center" cellspacing="25">
  33.                         <thead>
  34.                             <tr>
  35.                                 <xsl:text disable-output-escaping="yes"><td align="left" colspan="</xsl:text>
  36.                                 <xsl:value-of select="$columns"/>
  37.                                 <xsl:text disable-output-escaping="yes">"></xsl:text>
  38.                                 <h2>
  39.                                     <xsl:if test="$title">
  40.                                         <xsl:value-of select="$title"/>
  41.                                     </xsl:if>
  42.                                 </h2>
  43.                                 <xsl:text disable-output-escaping="yes"></td></xsl:text>
  44.                             </tr>
  45.                         </thead>
  46.                         <tfoot>
  47.                             <tr>
  48.                                 <xsl:text disable-output-escaping="yes"><td align="right" colspan="</xsl:text>
  49.                                 <xsl:value-of select="$columns"/>
  50.                                 <xsl:text disable-output-escaping="yes">"></xsl:text>
  51.                                 <span class="about">made with <a href="http://www.PixVue.Com/" target="_blank">PixVue</a>
  52.                                 </span>
  53.                                 <xsl:text disable-output-escaping="yes"></td></xsl:text>
  54.                             </tr>
  55.                         </tfoot>
  56.                         <tr>
  57.                             <td/>
  58.                         </tr>
  59.                         <xsl:for-each select="index/thumbnails/image">
  60.                             <xsl:if test="(position() mod $columns) = 1">
  61.                                 <tr>
  62.                                     <xsl:call-template name="formatColumns">
  63.                                         <xsl:with-param name="to" select="$columns"/>
  64.                                     </xsl:call-template>
  65.                                 </tr>
  66.                             </xsl:if>
  67.                         </xsl:for-each>
  68.                         <tr>
  69.                             <xsl:text disable-output-escaping="yes"><td colspan="</xsl:text>
  70.                             <xsl:value-of select="$columns"/>
  71.                             <xsl:text disable-output-escaping="yes">"></xsl:text>
  72.                             <table width="100%" height="1" border="0" cellpadding="0" cellspacing="0">
  73.                                 <tr bgcolor="#CCCCCC">
  74.                                     <td>
  75.                                         <xsl:text disable-output-escaping="yes"><img alt="" src="images/pixel.gif" height="1"></xsl:text>
  76.                                     </td>
  77.                                 </tr>
  78.                             </table>
  79.                             <xsl:text disable-output-escaping="yes"></td></xsl:text>
  80.                         </tr>
  81.                     </table>
  82.                 </center>
  83.             </body>
  84.         </html>
  85.     </xsl:template>
  86.     <xsl:template name="formatColumns">
  87.         <xsl:param name="from" select="0"/>
  88.         <xsl:param name="to" select="0"/>
  89.         <xsl:param name="step" select="1"/>
  90.         <xsl:if test="$from < $to">
  91.             <!-- thumbnail -->
  92.             <xsl:choose>
  93.                 <xsl:when test="$from = 0">
  94.                     <xsl:if test=".">
  95.                         <td align="center">
  96.                             <xsl:text disable-output-escaping="yes"><a href="</xsl:text>
  97.                             <xsl:value-of select="@target"/>
  98.                             <xsl:text disable-output-escaping="yes">"><img class="image" alt="Click to view image" border="0" src="</xsl:text>
  99.                             <xsl:value-of select="."/>
  100.                             <xsl:text disable-output-escaping="yes">"></a></xsl:text>
  101.                         </td>
  102.                     </xsl:if>
  103.                 </xsl:when>
  104.                 <xsl:otherwise>
  105.                     <xsl:variable name="image" select="following-sibling::image[position()=$from]"/>
  106.                     <xsl:if test="$image">
  107.                         <td align="center">
  108.                             <xsl:text disable-output-escaping="yes"><a href="</xsl:text>
  109.                             <xsl:value-of select="following-sibling::image[position()=$from]/@target"/>
  110.                             <xsl:text disable-output-escaping="yes">"><img class="image" alt="Click to view image" border="0" src="</xsl:text>
  111.                             <xsl:value-of select="$image"/>
  112.                             <xsl:text disable-output-escaping="yes">"></a></xsl:text>
  113.                         </td>
  114.                     </xsl:if>
  115.                 </xsl:otherwise>
  116.             </xsl:choose>
  117.             <!-- do it again -->
  118.             <xsl:call-template name="formatColumns">
  119.                 <xsl:with-param name="from" select="$from + $step"/>
  120.                 <xsl:with-param name="to" select="$to"/>
  121.                 <xsl:with-param name="step" select="$step"/>
  122.             </xsl:call-template>
  123.         </xsl:if>
  124.     </xsl:template>
  125. </xsl:stylesheet>
  126.