Subject: RE: [xsl] Need Help with XSL Multicolumn Table From: Pieter Reint Siegers Kort <pieter.siegers@xxxxxxxxxxx> Date: Thu, 14 Oct 2004 13:22:35 -0500 |
Hi Alex, Try this stylesheet, it should get you on your way: ******************************************** <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="currentRecord" /> <xsl:param name="pageSize" /> <xsl:variable name="maxRecords" select="count(items)" /> <xsl:template match="/"> <xsl:apply-templates select="items/item"> </xsl:apply-templates> </xsl:template> <xsl:template match="item"> <table width="115" border="1" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <xsl:choose> <xsl:when test="position() mod 2 = 1"> <xsl:attribute name="class">clsOdd</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="class">clsEven</xsl:attribute> </xsl:otherwise> </xsl:choose> <td width="115" height="99" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="12" height="90"></td> <td width="90" valign="top"> <a href="{link}" target="_blank"><img align="middle" alt="{title}" style="border: 1px solid #666666" border="0" width="90" height="90" src="{image_url}"/></a> </td> <td width="13"></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> </tr> </table> </td> </tr> <tr> <td height="82" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="115" height="63" valign="top"> <xsl:value-of select="title"/> <a href="{link}" target="_blank"><br>mas informacisn<img align="middle" src="tree/lens.gif" border="0"/></br></a> </td> </tr> <tr> <xsl:if test="mpago = 'Y'"> <td height="13" valign="top"><img alt="Pagalo en mensualidades..." align="middle" style="border: 1px solid #666666" border="0" src="images/amexvisamc.gif"/></td> </xsl:if> <xsl:if test="mpago = 'N'"> <td height="13" valign="top"><img align="middle" border="0" src="images/nomark.gif"/></td> </xsl:if> </tr> </table></td> </tr> <tr> <td height="19" valign="bottom" bgcolor="#FFFF00" class="precio"> <font style="color:#FF0000; font-weight:100"><b> <xsl:value-of select="currency"/><xsl:value-of select="price"/> </b></font> </td> </tr> </table> </xsl:template> </xsl:stylesheet> ******************************************** Cheers, <prs/> -----Original Message----- From: soporte@xxxxxxxxxxxx [mailto:soporte@xxxxxxxxxxxx] Sent: Thursday, October 14, 2004 10:43 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] Need Help with XSL Multicolumn Table Hello, I have an XML with data like the following and I need to display this info in a multicolumn table. Suppose I have 20 items, I want to display in each row 4 items with the respective title, price, currency, etc. Hope anyone can help me with this.. I will appreciate so much the help. <items> <item id="2545"> <title>Something a</title> <price>1,500</price> <image_url>pic1.jpg</image_url> <currency>$</currency> <mpago>N</mpago> <listing_features> <highlight>Y</highlight> </listing_features> </item> <item id="2546"> <title>Something b</title> <price>1,583</price> <image_url>pic2.jpg</image_url> <currency>US$</currency> <mpago>Y</mpago> <listing_features> <highlight>Y</highlight> </listing_features> </item> <item id="2580"> <title>Something c</title> <price>700</price> <image_url>pic3.jpg</image_url> <currency>$</currency> <mpago>N</mpago> <listing_features> <highlight>N</highlight> </listing_features> </item> ...... </items> I want to show 4 tables like this one in each row. Im also pasting here the code of the table in html: Here is the html code of the table I would like each item to have. *************************** <table width="115" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="115" height="99" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="12" height="90"></td> <td width="90" valign="top">** Here the image **</td> <td width="13"></td> </tr> <tr> <td height="9"></td> <td></td> <td></td> </tr> </table> </td> </tr> <tr> <td height="82" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="115" height="63" valign="top"> ** here the title ** </td> </tr> <tr> <td height="13" valign="top">** here mpago **</td> </tr> </table></td> </tr> <tr> <td height="19" valign="bottom" bgcolor="#FFFF00" class="precio"> ** here price ** <font style="color:#FF0000; font-weight:100"><b></b></font></td> </tr> </table> *************************************** And here is the current XSL that displays the info each item in a row, but I dont want that way I need in the format of the table above. <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="currentRecord" /> <xsl:param name="pageSize" /> <xsl:variable name="maxRecords" select="count(items)" /> <xsl:template match="/response/listing/items/item"> <table border="0" class="row" width="550" cellspacing="0" cellpadding="1" bordercolor="gainsboro"> <tr class="row"> <xsl:choose> <xsl:when test="position() mod 2 = 1"> <xsl:attribute name="class">clsOdd</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="class">clsEven</xsl:attribute> </xsl:otherwise> </xsl:choose> <td class="image" width="17%"><a href="{link}" target="_blank"><img align="middle" alt="{title}" style="border: 1px solid #666666" border="0" width="90" height="90" src="{image_url}"/></a></td> <td class="value" width="45%"><xsl:value-of select="title"/><a href="{link}" target="_blank"><br>mas informacisn<img align="middle" src="tree/lens.gif" border="0"/></br></a></td> <td class="precio" width="16%"><xsl:value-of select="currency"/><xsl:value-of select="price"/></td> <xsl:if test="mpago = 'Y'"> <td class="image" width="14%"><img alt="Pagalo en mensualidades..." align="middle" style="border: 1px solid #666666" border="0" src="images/amexvisamc.gif"/></td> </xsl:if> <xsl:if test="mpago = 'N'"> <td class="image" width="14%"><img align="middle" border="0" src="images/nomark.gif"/></td> </xsl:if> <td class="value" width="5%"> <xsl:for-each select="listing_features"> <xsl:if test="highlight = 'Y'"> <xsl:attribute name='style'> <xsl:text>color:red</xsl:text> </xsl:attribute> <xsl:value-of select="photo"/> </xsl:if> </xsl:for-each> </td> </tr> <tr><td class="row"></td></tr> </table> </xsl:template> </xsl:stylesheet> I appreciate so much your help and hope you can help me. Best Regards and thanks a lot, Alex. V.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Need Help with XSL Multicolum, soporte | Thread | [xsl] how to handle structured data, Kevin Rodgers |
[xsl] Fun with xsl:number and a key, JBryant | Date | RE: [xsl] Problem using Position() , Wendell Piez |
Month |