我的xml文件的内容如下:
1<list>
2<user>
3<num>1</num>
4<cn>demo1</cn>
5<realname>demo1</realname>
6<mailquota>51200</mailquota>
7<creator>demo1</creator>
8<createtime>2003-05-08</createtime>
9<accountstatus>active</accountstatus>
10</user>
11<user>
12<num>2</num>
13<cn>hbq</cn>
14<realname>hbq</realname>
15<mailquota>102400</mailquota>
16<creator>hbq</creator>
17<createtime>2003-05-09</createtime>
18<accountstatus>active</accountstatus>
19</user>
20<user>
21<num>3</num>
22<cn>sammiewang</cn>
23<realname>sammiewang</realname>
24<mailquota>102400</mailquota>
25<creator>demo1</creator>
26<createtime>2003-05-09</createtime>
27<accountstatus>active</accountstatus>
28</user>
29<user>
30<num>4</num>
31<cn>hbq01</cn>
32<realname>hbq</realname>
33<mailquota>10240</mailquota>
34<creator>demo1</creator>
35<createtime>2003-05-12</createtime>
36<accountstatus>active</accountstatus>
37</user>
38</list>
我对mailquota字段的排序文件的内容如下:
1<users>
2<xsl:for-each order-by="mailquota" select="user" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
3<user>
4<num><xsl:value-of select="num"></xsl:value-of></num>
5<cn><xsl:value-of select="cn"></xsl:value-of></cn>
6<realname><xsl:value-of select="realname"></xsl:value-of></realname>
7<mailquota><xsl:value-of select="mailquota"></xsl:value-of></mailquota>
8<creator><xsl:value-of select="creator"></xsl:value-of></creator>
9<createtime><xsl:value-of select="createtime"></xsl:value-of></createtime>
10<accountstatus><xsl:value-of select="accountstatus"></xsl:value-of></accountstatus>
11</user>
12</xsl:for-each>
13</users>
请问如何修改这个xsl文件才能实现对“mailquota”字段按数字大小进行排序,谢谢!!
知道的帮个忙,不知道的帮忙顶一下!!谢谢 各位大虾
---------------------------------------------------------------
try
order-by="number(mailquota)"
note, you should use XSLT
---------------------------------------------------------------
我试了order-by="number(mailquota)"但是不行,提示错误是“无效的函数调用”,我不会用XSLT,你能指点一下嘛?谢谢!!
---------------------------------------------------------------
思归的方法正确:
1<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
2<xsl:template match="/">
3<users>
4<xsl:apply-templates order-by="number(mailquota)" select="/list/user"></xsl:apply-templates>
5</users>
6</xsl:template>
7<xsl:template match="user">
8<user>
9<num><xsl:value-of select="num"></xsl:value-of></num>
10<cn><xsl:value-of select="cn"></xsl:value-of></cn>
11<realname><xsl:value-of select="realname"></xsl:value-of></realname>
12<mailquota><xsl:value-of select="mailquota"></xsl:value-of></mailquota>
13<creator><xsl:value-of select="creator"></xsl:value-of></creator>
14<createtime><xsl:value-of select="createtime"></xsl:value-of></createtime>
15<accountstatus><xsl:value-of select="accountstatus"></xsl:value-of></accountstatus>
16</user>
17</xsl:template>
18</xsl:stylesheet>
---------------------------------------------------------------
for XSLT, try
1<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2<xsl:template match="/">
3<users>
4<xsl:for-each select="/list/user">
5<xsl:sort data-type="number" select="mailquota"></xsl:sort>
6<user>
7<num><xsl:value-of select="num"></xsl:value-of></num>
8<cn><xsl:value-of select="cn"></xsl:value-of></cn>
9<realname><xsl:value-of select="realname"></xsl:value-of></realname>
10<mailquota><xsl:value-of select="mailquota"></xsl:value-of></mailquota>
11<creator><xsl:value-of select="creator"></xsl:value-of></creator>
12<createtime><xsl:value-of select="createtime"></xsl:value-of></createtime>
13<accountstatus><xsl:value-of select="accountstatus"></xsl:value-of></accountstatus>
14</user>
15</xsl:for-each>
16</users>
17</xsl:template>
18</xsl:stylesheet>
---------------------------------------------------------------
我试了你的方法,在html中调用没有显示的结果,好像xsl根本没有把数据调用进去。
---------------------------------------------------------------
怎么在html中调用这个xslt文件啊,我是新手,希望得到指点!!
---------------------------------------------------------------
各位大侠来帮帮忙啊,拜托了,在线等候啊!!!!
---------------------------------------------------------------
问题已解决,谢谢大家的帮助!!!