|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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() >= $this_services_pos and position() < $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: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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








