xsl-list
[Top] [All Lists]

RE: Need Help with XSL Multicolumn Item Display

2004-10-17 09:37:04
See item 1 in the FAQ under "tables":

http://www.dpawson.co.uk/xsl/sect2/N7450.html

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: soporte(_at_)mexcomer(_dot_)com 
[mailto:soporte(_at_)mexcomer(_dot_)com] 
Sent: 17 October 2004 17:30
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Need Help with XSL Multicolumn Item Display

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. I already
have the XSL with the respective table layout display, the 
only thing I
need is just to display 4 in a row so the page will be smaller and the
user won't have to scroll down and down to see all the items.. The
solution I need is like a row gallery (4 in a row) insead of 
a row list (1
in a row).

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>


This is the stylesheet of the XSL to display the items within 
an specific
table layout. I need to display with this table layout but 4 
in a row. Now
this XSL just display one per row and is not usessfull for me 
because the
page will grow to much and then the users will have to srcoll down and
down, so if I can put 4 in a row the page size will decrease
significantly.

I hope someone can help me. Thanks Lot and best regards.


********************************************
<?xml version=3D"1.0" encoding=3D"UTF-8" ?>
<xsl:stylesheet version=3D"1.0"
xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform";>

<xsl:param name=3D"currentRecord" />
<xsl:param name=3D"pageSize" />

<xsl:variable name=3D"maxRecords" select=3D"count(items)" />

<xsl:template match=3D"/">
        <xsl:apply-templates select=3D"items/item">
        </xsl:apply-templates>
</xsl:template>

<xsl:template match=3D"item">
<table width=3D"115" border=3D"1" cellpadding=3D"0" cellspacing=3D"0">
   <!--DWLayoutTable-->
   <tr>
  =20
   <xsl:choose>
    <xsl:when test=3D"position() mod 2 =3D 1">
     <xsl:attribute name=3D"class">clsOdd</xsl:attribute>
    </xsl:when>
    <xsl:otherwise>
     <xsl:attribute name=3D"class">clsEven</xsl:attribute>
    </xsl:otherwise>
   </xsl:choose>

    <td width=3D"115" height=3D"99" valign=3D"top"><table =
width=3D"100%" border=3D"0"
cellpadding=3D"0" cellspacing=3D"0">
      <!--DWLayoutTable-->
      <tr>
       <td width=3D"12" height=3D"90"></td>
       <td width=3D"90" valign=3D"top">
               <a href=3D"{link}" target=3D"_blank"><img 
align=3D"middle" =
alt=3D"{title}"
style=3D"border: 1px solid #666666" border=3D"0" width=3D"90" =
height=3D"90"
src=3D"{image_url}"/></a>
       </td>
       <td width=3D"13"></td>
      </tr>
      <tr>
       <td height=3D"9"></td>
       <td></td>
       <td></td>
      </tr>
     </table>
    </td>
   </tr>
   <tr>
    <td height=3D"82" valign=3D"top"><table width=3D"100%" 
border=3D"0"
cellpadding=3D"0" cellspacing=3D"0">
      <!--DWLayoutTable-->
      <tr>
       <td width=3D"115" height=3D"63" valign=3D"top">
        <xsl:value-of select=3D"title"/>
        <a href=3D"{link}" target=3D"_blank"><br>m=E1s =
informaci=F3n<img
align=3D"middle" src=3D"tree/lens.gif" border=3D"0"/></br></a>
       </td>
      </tr>
      <tr>
        <xsl:if test=3D"mpago =3D 'Y'">
         <td height=3D"13" valign=3D"top"><img alt=3D"Pagalo en =
mensualidades..."
align=3D"middle" style=3D"border: 1px solid #666666" border=3D"0"
src=3D"images/amexvisamc.gif"/></td>
        </xsl:if>
        <xsl:if test=3D"mpago =3D 'N'">
         <td height=3D"13" valign=3D"top"><img align=3D"middle" =
border=3D"0"
src=3D"images/nomark.gif"/></td>
        </xsl:if>
      </tr>
    </table></td>
   </tr>
   <tr>
     <td height=3D"19" valign=3D"bottom" bgcolor=3D"#FFFF00" =
class=3D"precio">
      <font style=3D"color:#FF0000; font-weight:100"><b>
      <xsl:value-of select=3D"currency"/><xsl:value-of =
select=3D"price"/>
      </b></font>
     </td>
   </tr>
</table>
</xsl:template>

</xsl:stylesheet>
********************************************

I hope someone can help me. Thanks Lot and best regards.




--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





<Prev in Thread] Current Thread [Next in Thread>