明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

怎么使用context()方法將數(shù)據(jù)置入表格(XML)

[摘要]作者:Belltree<singers> <singer>Celine Dion</singer> <singer>Britney Spears&...
作者: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è)表格中,這樣會方便數(shù)據(jù)比較和閱讀。但XSL并沒有提供一種機(jī)制來進(jìn)行任
意的分組。所以必須使用xsl:if結(jié)合context() 來完成這項(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è)新的類似的代碼,只讓每三個(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>