作者:Belltree
<singers> <singer>Celine Dion</singer> <singer>Britney Spears</singer> <singer>Enya</singe> <singer>Christina Aguilera</singer> <singer>Backstreet Boys</singer> <singer>Spice Girls</singer> </singers> 一般我們?nèi)〕鲆唤M數(shù)據(jù)后都喜歡將數(shù)據(jù)放入一個(gè)表格中,這樣會(huì)方便數(shù)據(jù)比較和閱讀。但XSL并沒(méi)有提供一種機(jī)制來(lái)進(jìn)行任 意的分組。所以必須使用xsl:if結(jié)合context() 來(lái)完成這項(xiàng)工作。下面的例子返回一個(gè)兩列的表格。
<TABLE BORDER="1"> <xsl:for-each select="singers/singer"> <xsl:if expr="(childNumber(this) % 2) == 1"> <TR> <TD><xsl:value-of /></TD> <TD><xsl:value-of select="../singer[index() $gt$ context()!index()][0]"/></TD> </TR> </xsl:if> </xsl:for-each> </TABLE> 如果你要返回一個(gè)三列的例子,你就要加一個(gè)新的類(lèi)似的代碼,只讓每三個(gè)元素才產(chǎn)生新的一行。由此你可以推斷一個(gè)需 要n列的表格如何實(shí)現(xiàn)。
<TABLE BORDER="1"> <xsl:for-each select="singers/singer"> <xsl:if expr="(childNumber(this) % 3) == 1"> <TR> <TD><xsl:value-of /></TD> <TD><xsl:value-of select="../singer[index() $gt$ context()!index()][0]"/></TD> <TD><xsl:value-of select="../singer[index() $gt$ context()!index()][1]"/></TD> </TR> </xsl:if> </xsl:for-each> </TABLE>
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!