[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Table styling

Subject: Table styling
From: "ajay sinha" <sinhajay@xxxxxxxxxxx>
Date: Thu, 14 Feb 2002 14:28:22
table styling
My Xml is like this.
<findForMe>
<community>
<community_type>my Care</community_type>
<services>
<service>
<service_id>8</service_id>
<service_type>asd</service_type>
<care_types>
<care_type_desc id="4">SCHOOLS</care_type_desc>
<provtype>
<provtype_id>115</provtype_id>
<provtype_type>as Schools</provtype_type>
</provtype>
<provtype>
<provtype_id>116</provtype_id>
<provtype_type>xxSchools</provtype_type>
</provtype>
<provtype>
<provtype_id>114</provtype_id>
<provtype_type>wa Schools</provtype_type>
</provtype>
<provtype>
<provtype_id>117</provtype_id>
<provtype_type>Schoolxdc</provtype_type>
</provtype>
</care_types>
</service>
</services>
<services>
<service>
<service_id>1</service_id>
<service_type>ghghg</service_type>
<care_types>
<care_type_desc id="10">ghgg</care_type_desc>
<provtype>
<provtype_id>73</provtype_id>
<provtype_type>ff Agencies</provtype_type>
</provtype>
<provtype>
<provtype_id>74</provtype_id>
<provtype_type>ty Agencies</provtype_type>
</provtype>
</care_types>
</service>
</services>
<services>
<service>
<service_id>2</service_id>
<service_type>fix Care</service_type>
<care_types>
<care_type_desc id="3">dCAMPS</care_type_desc>
<provtype>
<provtype_id>10</provtype_id>
<provtype_type>reCamps</provtype_type>
</provtype>
<provtype>
<provtype_id>9</provtype_id>
<provtype_type>dt Camps</provtype_type>
</provtype>
</care_types>
<care_types>
<care_type_desc id="1">bnCARE</care_type_desc>
<provtype>
<provtype_id>2</provtype_id>
<provtype_type> bb Care Center</provtype_type>
</provtype>
<provtype>
<provtype_id>1</provtype_id>
<provtype_type>bbCare Home</provtype_type>
</provtype>
</care_types>
<care_types>
<care_type_desc id="2">IN HOME</care_type_desc>
<provtype>
<provtype_id>5</provtype_id>
<provtype_type>Au Pair Agency</provtype_type>
</provtype>
<provtype>
<provtype_id>7</provtype_id>
<provtype_type>Home Health Care Agencies</provtype_type>
</provtype>
<provtype>
<provtype_id>6</provtype_id>
<provtype_type>In Home Agencies</provtype_type>
</provtype>
</care_types>
</service>
</services>
<services>
<service>
<service_id>7</service_id>
<service_type>sss Needs</service_type>
<care_types>
<care_type_desc id="3">CAMPS</care_type_desc>
<provtype>
<provtype_id>10</provtype_id>
<provtype_type>Day Camps</provtype_type>
</provtype>
<provtype>
<provtype_id>9</provtype_id>
<provtype_type>Residential Camps</provtype_type>
</provtype>
</care_types>
<care_types>
<care_type_desc id="1">DAY CARE</care_type_desc>
<provtype>
<provtype_id>2</provtype_id>
<provtype_type>Child Care Center</provtype_type>
</provtype>
<provtype>
<provtype_id>1</provtype_id>
<provtype_type>Family Child Care Home</provtype_type>
</provtype>
</care_types>
<care_types>
<care_type_desc id="2">IN HOME</care_type_desc>
<provtype>
<provtype_id>5</provtype_id>
<provtype_type>Au Pair Agency</provtype_type>
</provtype>
<provtype>
<provtype_id>7</provtype_id>
<provtype_type>Home Health Care Agencies</provtype_type>
</provtype>
<provtype>
<provtype_id>6</provtype_id>
<provtype_type>In Home Agencies</provtype_type>
</provtype>
</care_types>
</service>
</services>
</community>
</communities>
</findForMe>


My xsl is as follows

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html"/>



<xsl:template match="*|/"><xsl:apply-templates/></xsl:template>

<xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>

<xsl:template match="/">
<table width="624" >
<tr>
<td>
<form name="find4meForm" action="index.html?function=getFindForMeQuestions.html" method="post">
<input type="hidden" name="serviceid" /><br/>
<span class="hed1">Search with Our Help</span><br/><br/>
<span class="ctrtxtfont2">
Use this feature to search for the provider or resource you need from the categories below.
</span> <br/><br/>


	<xsl:apply-templates select="findForMe/communities/community "/><br/>
	<input type="image" src="/art/questium/btn_next.gif" border="0"/>
	</form>
   </td>
 </tr>
</table>
</xsl:template>

<xsl:template match="community">

<table width="100%" cellpadding="0" cellspacing="0" border="0" class="ctrbakbdr" >
<tr class="ctrbakbdr" > <td colspan="3" class="ctrbakhed1"><span class="ctrtxtbold">
<xsl:value-of select="community_type"/></span></td></tr>
<xsl:variable name="cols" select="3"/>
<xsl:variable name="all_services" select="services"/>
<!-- start a new data row for every 1st, 4th, 7th, etc. 'services' element -->
<xsl:for-each select="$all_services[position() mod $cols = 1]">
<xsl:variable name="this_services_pos" select="position()"/>
<xsl:variable name="current_row_services" select="$all_services[position() &gt;= $this_services_pos and position() &lt; $this_services_pos + $cols]"/>
<!-- go generate the 2 table rows for this one data row -->
<xsl:call-template name="make_table_rows">
<xsl:with-param name="cols" select="$cols"/>
<xsl:with-param name="current_row_services" select="$current_row_services"/>
</xsl:call-template>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="make_table_rows">
<xsl:param name="cols" select="1" />
<xsl:param name="current_row_services" select="/.." />
<!-- selects above are defaults in case nothing was passed in -->
<xsl:if test="$current_row_services">
<xsl:variable name="num_empty_cols" select="$cols - $current_row_services"/>
<tr class="ctrbakhed2">
<xsl:for-each select="$current_row_services">


<td width="33%" class="ctrbakbdr" ><xsl:apply-templates select="service" mode="myservice"/></td>


<xsl:if test="$num_empty_cols=1"> <td class="ctrbakbdr">&#160;</td> </xsl:if> <xsl:if test="$num_empty_cols=2"> <td class="ctrbakbdr">&#160;</td> <td class="ctrbakbdr">&#160;</td> </xsl:if> </xsl:for-each> </tr> <tr> <xsl:for-each select="$current_row_services"> <td width="33%" valign="top" class="ctrbakbdr"> <xsl:apply-templates select="service" mode="care_type"/> </td> </xsl:for-each> <xsl:if test="$num_empty_cols=1"> <td class="ctrbakbdr">&#160;</td> </xsl:if> <xsl:if test="$num_empty_cols=2"> <td class="ctrbakbdr">&#160;</td> <td class="ctrbakbdr">&#160;</td> </xsl:if> </tr> </xsl:if> </xsl:template> <!-- <xsl:template name="make_empty_cells"> <xsl:with-param name="num_empty_cols" select="0" /> <xsl:if test="num_empty_cols"> <td>&#160;</td> <xsl:call-template name="make_empty_cells"> <xsl:with-param name="num_empty_cols" select="num_empty_cols-1"/> </xsl:call-template> </xsl:if> </xsl:template> -->

<xsl:template match="service" mode="myservice">

		 <span class="ctrtxtfont2">
		<xsl:value-of select="service_type"/>
		 </span>

</xsl:template>
<xsl:template match="service" mode="care_type">

		 <span class="ctrtxtfont3">
		<xsl:apply-templates select="care_types" mode="quicksearch"/>
		 </span>

</xsl:template>

<xsl:template match="care_types" mode="quicksearch">
<span class="ctrtxtfont3bold"><xsl:value-of select="care_type_desc"/></span>
<br />
<xsl:for-each select="provtype">
<input type="radio" name="provtypeid" value="{provtype_id}" onClick="document.forms[1].serviceid.value='{../../service_id}'"/>
<span> <xsl:value-of select="provtype_type"/></span><br />
</xsl:for-each>
<p/>
</xsl:template>



</xsl:stylesheet>


As I am rendering table of three colomns,my problem is when I am looping for services to create new row
It creates first row correctly but for second row instead of going to position 4 of services it goes to second position and so on .
Can any one suggest where I am making mistake or correction in Xsl or in code.
I will be thankfull.
thanks in anticipation.
arup




_________________________________________________________________
Join the world?s largest e-mail service with MSN Hotmail. http://www.hotmail.com



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.