如何使用context()方法将数据置入表格(XML)
发布时间:
2006-10-14 2:46:42
收集提供:
gaoqian
作者: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>
一般我们取出一组数据后都喜欢将数据放入一个表格中,这样会方便数据比较和阅读。但XSL并没有提供一种机制来进行任
意的分组。所以必须使用xsl:if结合context() 来完成这项工作。下面的例子返回一个两列的表格。
<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>
如果你要返回一个三列的例子,你就要加一个新的类似的代码,只让每三个元素才产生新的一行。由此你可以推断一个需
要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>
|
网站空间
|
网络空间
|
域名注册
|
网站推广
|
虚拟主机
|
网通空间
|
电信空间
|
ftp空间
|
wap空间
|
|
asp空间
|
aspx空间
|
.net空间
|
php空间
|
数据库空间
|
html5空间
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50