home *** CD-ROM | disk | FTP | other *** search
- <xsl:stylesheet
- version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xt="http://www.jclark.com/xt">
- <xsl:output method="html"/>
-
- <xsl:template match="colnames">
- <xsl:element name="tr" use-attribute-sets="header-style">
- <xsl:apply-templates select="colname[position()=$titlecol]"/>
- <xsl:apply-templates select="colname[position()=$pricecol]"/>
- <xsl:variable name="props"
- select="document("styles.xml")//paramgroup[@name="header"]"/>
-
- <xsl:element name="th">
- <xsl:element name="font" use-attribute-sets="header-font-style">
- <xsl:call-template name="apply-font-styles-using-path">
- <xsl:with-param name="path" select="$props"/>
- <xsl:with-param name="content" select="string("Bestellung")"/>
- </xsl:call-template>
- </xsl:element></xsl:element>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="colname">
-
- <xsl:variable name="props"
- select="document("styles.xml")//paramgroup[@name="header"]"/>
-
- <xsl:element name="th" use-attribute-sets="header-style">
- <xsl:element name="font" use-attribute-sets="header-font-style">
- <xsl:variable name="content"> <!-- content content content -->
- <xsl:value-of select="."/>
- </xsl:variable>
- <xsl:call-template name="apply-font-styles-using-path">
- <xsl:with-param name="path" select="$props"/>
- <xsl:with-param name="content" select="$content"/>
- </xsl:call-template>
- </xsl:element></xsl:element>
-
- </xsl:template>
-
- <!--
- <xsl:choose>
- <xsl:when test="position()=$isbncol">
- <xsl:text>isbn</xsl:text>
- </xsl:when>
- <xsl:when test="position()=$pricecol">
- <xsl:text>price</xsl:text>
- </xsl:when>
- <xsl:when test="position()=$titlecol">
- <xsl:text>title</xsl:text>
- </xsl:when>
- </xsl:choose>
- -->
-
- <xsl:template match="row">
- <xsl:element name="tr" use-attribute-sets="row-style">
- <xsl:for-each select="cell[position()=$isbncol]">
- <xsl:call-template name="process-cell">
- <xsl:with-param name="celltype">isbn</xsl:with-param>
- </xsl:call-template> <!-- process-cell -->
- </xsl:for-each>
- <xsl:for-each select="cell[position()=$titlecol]">
- <xsl:call-template name="process-cell">
- <xsl:with-param name="celltype">title</xsl:with-param>
- </xsl:call-template> <!-- process-cell -->
- </xsl:for-each>
- <xsl:for-each select="cell[position()=$pricecol]">
- <xsl:call-template name="process-cell">
- <xsl:with-param name="celltype">price</xsl:with-param>
- </xsl:call-template> <!-- process-cell -->
- </xsl:for-each>
-
- <td align="center">
- <input size="5" type="text" name="{concat("quantity",@number)}"
- onblur="JavaScript:ChangeTxt(this, sel);"/>
- <input type="hidden" name="{concat("num",@number)}" value="{$max-items}"/>
- <input type="hidden" name="{concat("index",@number)}" value="{@number}"/>
-
- </td>
- </xsl:element>
- </xsl:template>
-
-
- <xsl:template name="process-cell">
- <xsl:param name="celltype"/>
-
- <!-- number of parent row in table -->
- <xsl:variable name="rowpos" select="ancestor::row/@number"/>
-
- <xsl:variable name="catpos"> <!-- number of parent row in table -->
- <xsl:number count="//category"/>
- </xsl:variable>
-
- <xsl:variable name="props"
- select="document("styles.xml")//paramgroup[@name="rows"]"/>
-
- <xsl:if test="$celltype!="isbn"">
-
- <xsl:variable name="content"> <!-- content content content -->
- <xsl:choose> <!-- if need a link to card in this column -->
- <xsl:when test="$celltype="title"">
- <xsl:element name="td" use-attribute-sets="title-align">
- <xsl:attribute name="width">70%</xsl:attribute>
- <xsl:element name="font" use-attribute-sets="row-font-style">
- <a href="{concat ('card', ancestor::row/@number, '.htm')}">
- <xsl:value-of select="."/>
- </a>
- </xsl:element>
- </xsl:element>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="td" use-attribute-sets="price-align">
- <xsl:element name="font" use-attribute-sets="row-font-style">
- <xsl:value-of select="."/>
- </xsl:element>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose> <!-- end if need a link to card in this column -->
- </xsl:variable> <!-- content content content -->
-
- <xsl:call-template name="apply-font-styles-using-path">
- <xsl:with-param name="path" select="$props"/>
- <xsl:with-param name="content" select="$content"/>
- </xsl:call-template>
-
- <input type="hidden" name="{concat ($celltype,$rowpos)}" value="{current()}"/>
- </xsl:if>
-
- <xsl:if test="$celltype="isbn"">
- <input type="hidden" name="{concat ($celltype,$rowpos)}" value="{current()}"/>
- </xsl:if>
-
- <xsl:if test="$celltype="title"">
- <input type="hidden" name="{concat ("link", $rowpos)}" value="{concat ('card', ancestor::row/@number, '.htm')}"/>
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template name="tabbody">
- <xsl:param name="count"/> <!-- starting row number -->
- <xsl:param name="splitcount"/> <!-- number of rows in each table -->
-
- <xsl:variable name="rows"><xsl:number count="//row"/></xsl:variable>
-
- <script><xsl:text disable-output-escaping="yes">if (netscape()) document.write("<table border='0' bgcolor='black' align='</xsl:text>
- <xsl:value-of select="$table-align"/>
- <xsl:text disable-output-escaping="yes">' cellspacing='1' cellpadding='0'><tr><td>");</xsl:text></script>
- <xsl:element name="table" use-attribute-sets="table-style">
- <tbody>
- <form action="" name="sel" method="post">
- <xsl:apply-templates select="//colnames"/>
- <xsl:apply-templates select="row[$count+$splitcount>position() and position()>=$count]"/>
- </form>
-
- </tbody>
- </xsl:element> <!--table -->
- <script><xsl:text disable-output-escaping="yes">if (netscape()) document.write("<\/tr><\/td><\/table>");</xsl:text></script>
- </xsl:template>
-
- </xsl:stylesheet>